<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:cgnx="http://www.cognex.com/20210404"
  xmlns:country="http://xbrl.sec.gov/country/2020-01-31"
  xmlns:currency="http://xbrl.sec.gov/currency/2020-01-31"
  xmlns:dei="http://xbrl.sec.gov/dei/2020-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2020-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="cgnx-20210404.xsd" xlink:type="simple"/>
    <context id="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i4201c0f61ce94307a5e157a9d74087e4_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i82fa5f7de0cd487a827a2eb7c6285e70_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i96a729a06ce741cf8ea8a01ec285035b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i787be2f36060440599736e048c4cc622_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ida310db592234913992545bdd5ffa7da_I20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2020-03-29</instant>
        </period>
    </context>
    <context id="i2c55d50972b944c692ab5ab25b3253d5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</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="iddbaebb21f094475aca60be12374e7db_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</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="i93ff25765bdd476db10f1577f2f2c158_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</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="i8801bf7cf50c4618939866f304777fdc_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</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="ie53a0b5d84504a11bdcd2b5635124234_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i396405e10e8643eca63a69b9bcbe5855_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="ifd5d782181ec49a0907b8a66e0a1d8c1_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i5a9d3045dd8d45d08e3e8a53d63e4ec7_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i8d2c39b29f3b4b108b94d761470b598f_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i5dd69cd4abe4488aba91b2d7b272dc55_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i3cdd92cc82f342f899e51efc5f4c055f_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="ic45c57bbf6ca4a64835825af1538f3b3_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i1a3507b1e5804e41b5c96aa988ef3ab9_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ic18c24d7ffe24c5588a93449a028c9eb_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ifadfe70c32ba488ea6bd115bdbd10ba3_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i0b313fbc3dbe484ba376d9ac7f0ab1d3_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i1a6ea78a093b4dd3be0f0763de6eccad_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i28af2f68e1194526a79872864d18014f_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i3b98c51734d1457da2a9e80a7f3ef400_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="if2387abea0cb4c09984dc4a5be3273c0_I20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-29</instant>
        </period>
    </context>
    <context id="if536fb54e58d4b48a461a62c6dfa1eb8_I20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-29</instant>
        </period>
    </context>
    <context id="ie31b6d5d70f2421d89405c1d86e98483_I20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-29</instant>
        </period>
    </context>
    <context id="i28564207037b4309a8b174e7e31d64a9_I20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-29</instant>
        </period>
    </context>
    <context id="iccf2d9e868dc44dcb733e18d82156290_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="idce4bcf2694447309ee04214411cfde3_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i7ca334aee951464b9bd525fe97d7e4ef_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i475f5aaa41264c6dba76604c75bc9b78_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="ibec4448f615444de803932e825af6d11_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="ibd67864c6e1742b8a9858e070c5a8a21_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i381467b841394c55b5765e72610dccb5_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i9f66d8a12a61424cac89f6969ae885e7_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i17920dc9443a45109a1c21c8375c77a9_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="ice9b857904c64cc6ac1b0d6d55d36526_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:GViVenturesInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="ie245bc1af2f44354ac59a82bfb20588d_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i91d7f7f1decd43bb82712777388f7b1d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iba63210cfd534c24b416054a56390fbb_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i7cc3e0c8aeb4484981a8bb2e0d41e780_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i7e37be09c6e24391a38ea6266273cef2_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="idb30172777f74fa59c775859c04d1408_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia24bdd24ef6746019e05731f41ad8b6e_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i9eab9c09052e4407bc9b22994d66fa2f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i23736634161e462182e24314851cdb6a_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i3f8aac385f024d63a743a3ec76b84d14_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ide61981f36574eb5a8e2d49982257298_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="ifea2503637cf4cad833d8423cf4367aa_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i63d435323d05465c8b6a4b79c3a62415_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i3ebef97345fc4b07931f76d262640f7c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i63b9b6f0ca6d4b03955da6e9599cf36e_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</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-04-04</instant>
        </period>
    </context>
    <context id="i938eb100ba5a4fd4ab8ff23fbe7ae7ce_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</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-04-04</instant>
        </period>
    </context>
    <context id="ie3bd90125f7142a4a6b8c1f85dd54b65_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="ifdd0c416e74c4f6c9cf615db66e70ce6_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i2ffecc92d29e4531874d04d52b657f87_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</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-04-04</instant>
        </period>
    </context>
    <context id="if2c858735ff041999b764a76847767c4_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="icbe3ff868bb1460a9c40b0e61190b802_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="iad38bb42ba0e4e9087929fbfc17d67ee_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i5a220cf3af62460fa61591c0473aed2d_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i8051dbd30ad0492ea822434d151f2b9a_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i8e98cb847963445ba23851bfcebceca6_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i38e652d2c2bf484a9156cd465fa9ab99_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i365033f23181440ba670110560aeaa8b_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:ContractTerminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i9a73180b00a24270814fdf8f66af850c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:ContractTerminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i315aa8b70ffb4b5a86cede84e5d05ba9_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DistributionRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i07e3c8cc9bcd41f28136ba2fd0e2ccd0_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i5ef9a00c22d745888b5a74e9567c0a59_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cgnx:CustomerContractsAndRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i98075e1359f84413acdcd64ca72b7845_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i042e6af78af94475810416cba5af3a71_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="ia31bcb9f672d4c6d9a7c9be40038d498_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DistributionRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib21762a254294b1b9aec94bd34ef6173_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if14543784f594287ad064d7afecd23c7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cgnx:CustomerContractsAndRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i973a30f1d39f44ec833d8f85062fb64b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9c234cd85edb4276ab45cf24ddb511a2_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib7cbd43fea304b519f1327a39338f599_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cgnx:DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="if765aff04fb344bf8d2ba5e9c6e2e360_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i8a9626967c394e91805893946560cb36_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:EUR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="ib0ba9ddb6aea492c80031d3c7ad4c892_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:EUR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i7ab35831a608410c83912c50d8bdee12_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:CNY</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i2a2a70f42ec14cb29cf8ee213dcf0084_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:CNY</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4718daa20c0941b28830c5447eb04e13_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:MXN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i5ca3891f02d6465cbb5ab5061701450f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:MXN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iecfbe639233d4ce8b9507e09a72028c5_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:JPY</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i994c54ecfb5b46cb8e0cd4229f31a917_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:JPY</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id6de0a9092844a9c9f77357c5ce3ce21_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:HUF</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="ifcea6697837b4505983f70b08a6da522_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:HUF</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9063c9898041472e819dfb98e4a20949_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:GBP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i8565b2df23cf4439888f835f34dd0fc5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:GBP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if469f3e8f8de4797910fe4af4e5f4d98_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:TWD</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i932a7a7d6ae14fe59c670c3137ad7630_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:TWD</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2fbfbc24658a4f829a40803e48f3adf7_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:CAD</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i2583abb96ec04dcfb7d6759c161a4304_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:CAD</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i95d4cd10f53146e4be630c3f6116d4e8_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:SGD</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="ie7cb7ba40aa04acca195eb9bc480e909_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:SGD</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id099b8b474a4451ba50eae16b2a131cb_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:KRW</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i009fbe774ed447b2b2130db651329535_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:KRW</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8ed96bbe4e684b8fa4e1965e1d71ac29_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="idc61c75c38054d939c3db978bc8ba04a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ibda0ac030e5c42d99ccbf7848266d94b_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">cgnx:AccruedExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i21b7e8269db042d4bab52ec9fc6b8007_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">cgnx:AccruedExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib9cff51ce3dc42f4b0fb801e9d98a0fd_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i2b9d8d9451e94a5db36e5fbc285e7220_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i465e6939762640b4a0feb2ed019d230e_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i90326d54ed254075a5fff9cf7f08c6a8_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="ib0152801a105496eac4bf24f4f1916b0_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i411400d1fb5a4170b2bceeb86e4473e8_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="ic9a181f140dc485e87e17d9f6805c727_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i71aae17860234a16917e6a053f12b8d8_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i6bc36eff8cb446ac8b93a6c8dea77359_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i8e449b85016146759db658cd9d595623_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i60ec7c5bcec14050ab2536a99e9e5c46_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i420312e2c3e644e0bbc82b922f320062_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i6a19abb04ef54d3f95f986347cc48c95_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="ia9cc34bf84c548ccaaf6b97a8c47776f_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i645be67ff8ae47e4a704fa927e363149_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="if2abbcbfbb784558b2c824b03eec1a13_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cgnx:GeneralStockOptionPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="ib40633a756c442b883c7e8bde7ef1f74_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cgnx:GeneralStockOptionPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i06f672f8504e48f796277d72547da719_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i38a1d6d2d64f4871ae88177022601b52_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i7e263b18a42342a59e8fcf96793d2d90_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib872f17c8dcb4a00b384383835cd278b_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i50af543cc70f4b7181d55bb33f325048_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i01cabcff17724f809a577845ea6347d1_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i4e83fc70b30a4cf793dc27f07d57c5ba_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfGoodsTotalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i051dcb472ea145cdac93ce32713e71f6_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfGoodsTotalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="id4a3d024fc27485a8dc79d6e199f812f_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="ia83527240eba4b05b47733b7439f1b04_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i0c1cc0e573464ed1b15c43a2ee0eff70_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:SellingGeneralAndAdministrativeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i3e5fa6b20dc345929a9917ef706d89c6_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:SellingGeneralAndAdministrativeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="iaebae8fcff574abba198396df9925f6e_I20181029">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramOctober2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-10-29</instant>
        </period>
    </context>
    <context id="i3fcb5a67ba684bccbabf35700f782ec6_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramOctober2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i56e59c1276764093b9af637918bed2a4_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramOctober2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i1f87580f82d74a2abc81ba2a0901b868_I20200312">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramMarch2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-12</instant>
        </period>
    </context>
    <context id="i43141314174240b189ccad7d94f2d9ab_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:RevenueCommissionersIrelandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="ic9efbed2c6954978bd3b5d6f5ce7f474_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:StateAdministrationOfTaxationChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i15873e7bc966435582db7af40cff8a77_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">country:KP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="ie9bd545041384957a4067cf24a99a9ea_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i961f343b7f1a4db4a693872eb940c96a_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i2433678d18904dc9b7a4b02ee07cff1d_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i11e34e626ae646afb65e634ff18ab5b3_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i70cedc83ce074bc38acd969004dad0d3_D20200101-20200329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-29</endDate>
        </period>
    </context>
    <context id="i8e0b21a06d1c489da9cea160755bd970_I20200526">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2020-05-26</instant>
        </period>
    </context>
    <context id="i012c1521e5244177b8c8dd0405c0dbb4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:OneTimeTerminationBenefitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i82afd39c864f4d71a460beccf5456554_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:ContractTerminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ifabf9d543b1748dda19bd2c9c26464e8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:OtherRestructuringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icd9238c622d646ff88d6420c228b2a38_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i5ee725ce816c4da0b967428748d80687_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:OneTimeTerminationBenefitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i6921244d99c9476990848c55fc6160b4_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:ContractTerminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i49677401b1e64e35a459d7924347a69e_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:OtherRestructuringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i600028afd6a842f5be33e71c178ef050_D20210101-20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-04-04</endDate>
        </period>
    </context>
    <context id="i18dec10a1f82451d819ba5273125528d_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:OneTimeTerminationBenefitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i368e88333ccc4483894c714c049f914c_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:ContractTerminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i674e8955a33244ed949a20ade3b87cb7_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:OtherRestructuringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i551246d38d774b1780ea72010e1df53f_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i9a04355a5fdc453fa6fcf0e3661b80f2_D20210506-20210506">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-06</startDate>
            <endDate>2021-05-06</endDate>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="eur">
        <measure>iso4217:EUR</measure>
    </unit>
    <unit id="cny">
        <measure>iso4217:CNY</measure>
    </unit>
    <unit id="mxn">
        <measure>iso4217:MXN</measure>
    </unit>
    <unit id="jpy">
        <measure>iso4217:JPY</measure>
    </unit>
    <unit id="huf">
        <measure>iso4217:HUF</measure>
    </unit>
    <unit id="gbp">
        <measure>iso4217:GBP</measure>
    </unit>
    <unit id="twd">
        <measure>iso4217:TWD</measure>
    </unit>
    <unit id="cad">
        <measure>iso4217:CAD</measure>
    </unit>
    <unit id="sgd">
        <measure>iso4217:SGD</measure>
    </unit>
    <unit id="krw">
        <measure>iso4217:KRW</measure>
    </unit>
    <unit id="group">
        <measure>cgnx:group</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80L2ZyYWc6MTMxYzQwMzRiNWMzNGUxMjg3ZDc0ZGU4Y2FmOWUwMjEvdGFibGU6MjhlMTVmMWI3NDFlNGU1NjhiZTBkYWQ3M2NmYmUzZTcvdGFibGVyYW5nZToyOGUxNWYxYjc0MWU0ZTU2OGJlMGRhZDczY2ZiZTNlN18xLTItMS0xLTA_210aa24b-79be-4666-9183-6167ab2ed91a">0000851205</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80L2ZyYWc6MTMxYzQwMzRiNWMzNGUxMjg3ZDc0ZGU4Y2FmOWUwMjEvdGFibGU6MjhlMTVmMWI3NDFlNGU1NjhiZTBkYWQ3M2NmYmUzZTcvdGFibGVyYW5nZToyOGUxNWYxYjc0MWU0ZTU2OGJlMGRhZDczY2ZiZTNlN18yLTItMS0xLTA_44e0f520-406b-498a-824a-99f5aad04cec">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80L2ZyYWc6MTMxYzQwMzRiNWMzNGUxMjg3ZDc0ZGU4Y2FmOWUwMjEvdGFibGU6MjhlMTVmMWI3NDFlNGU1NjhiZTBkYWQ3M2NmYmUzZTcvdGFibGVyYW5nZToyOGUxNWYxYjc0MWU0ZTU2OGJlMGRhZDczY2ZiZTNlN18zLTItMS0xLTA_7195f89f-5ea2-4151-b991-94705a535ccd">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80L2ZyYWc6MTMxYzQwMzRiNWMzNGUxMjg3ZDc0ZGU4Y2FmOWUwMjEvdGFibGU6MjhlMTVmMWI3NDFlNGU1NjhiZTBkYWQ3M2NmYmUzZTcvdGFibGVyYW5nZToyOGUxNWYxYjc0MWU0ZTU2OGJlMGRhZDczY2ZiZTNlN180LTItMS0xLTA_8f3f7687-f5dc-49f1-9463-d466c6b453ef">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80L2ZyYWc6MTMxYzQwMzRiNWMzNGUxMjg3ZDc0ZGU4Y2FmOWUwMjEvdGFibGU6MjhlMTVmMWI3NDFlNGU1NjhiZTBkYWQ3M2NmYmUzZTcvdGFibGVyYW5nZToyOGUxNWYxYjc0MWU0ZTU2OGJlMGRhZDczY2ZiZTNlN181LTItMS0xLTA_fa137aa5-5ede-483f-9ca0-2feccc967fd1">false</dei:AmendmentFlag>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80L2ZyYWc6MTMxYzQwMzRiNWMzNGUxMjg3ZDc0ZGU4Y2FmOWUwMjEvdGFibGU6MjhlMTVmMWI3NDFlNGU1NjhiZTBkYWQ3M2NmYmUzZTcvdGFibGVyYW5nZToyOGUxNWYxYjc0MWU0ZTU2OGJlMGRhZDczY2ZiZTNlN182LTItMS0xLTA_f6ff67e1-88fa-4fb0-939d-cf867c6fb30d"
      unitRef="shares">176607781</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xOS9mcmFnOjc3ZDVkZWFkMjQ4NTRhNzM5ZDBlODQxNjAzNmE0ODhiL3RhYmxlOjJhNTE0N2U2NTZlODRhYTA5YTFhZGU2OWUzZTQyYTQyL3RhYmxlcmFuZ2U6MmE1MTQ3ZTY1NmU4NGFhMDlhMWFkZTY5ZTNlNDJhNDJfMS0xLTEtMS0w_5774e932-bcea-46e1-b3e0-eb5a42378865"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xOS9mcmFnOjc3ZDVkZWFkMjQ4NTRhNzM5ZDBlODQxNjAzNmE0ODhiL3RhYmxlOjJhNTE0N2U2NTZlODRhYTA5YTFhZGU2OWUzZTQyYTQyL3RhYmxlcmFuZ2U6MmE1MTQ3ZTY1NmU4NGFhMDlhMWFkZTY5ZTNlNDJhNDJfMS0zLTEtMS0w_95136924-3538-445b-9350-eb48cacadba6"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xOS9mcmFnOjc3ZDVkZWFkMjQ4NTRhNzM5ZDBlODQxNjAzNmE0ODhiL3RhYmxlOjJhNTE0N2U2NTZlODRhYTA5YTFhZGU2OWUzZTQyYTQyL3RhYmxlcmFuZ2U6MmE1MTQ3ZTY1NmU4NGFhMDlhMWFkZTY5ZTNlNDJhNDJfMi0xLTEtMS0w_1a88647e-0a26-4684-b56f-09fd4aaa6cee"
      unitRef="usd">-585000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xOS9mcmFnOjc3ZDVkZWFkMjQ4NTRhNzM5ZDBlODQxNjAzNmE0ODhiL3RhYmxlOjJhNTE0N2U2NTZlODRhYTA5YTFhZGU2OWUzZTQyYTQyL3RhYmxlcmFuZ2U6MmE1MTQ3ZTY1NmU4NGFhMDlhMWFkZTY5ZTNlNDJhNDJfMi0zLTEtMS0w_95959880-c9fc-472a-8d09-de987f165845"
      unitRef="usd">-952000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xOS9mcmFnOjc3ZDVkZWFkMjQ4NTRhNzM5ZDBlODQxNjAzNmE0ODhiL3RhYmxlOjJhNTE0N2U2NTZlODRhYTA5YTFhZGU2OWUzZTQyYTQyL3RhYmxlcmFuZ2U6MmE1MTQ3ZTY1NmU4NGFhMDlhMWFkZTY5ZTNlNDJhNDJfMy0xLTEtMS0w_5faddc57-240e-4bf2-b001-9521fcc64b04"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xOS9mcmFnOjc3ZDVkZWFkMjQ4NTRhNzM5ZDBlODQxNjAzNmE0ODhiL3RhYmxlOjJhNTE0N2U2NTZlODRhYTA5YTFhZGU2OWUzZTQyYTQyL3RhYmxlcmFuZ2U6MmE1MTQ3ZTY1NmU4NGFhMDlhMWFkZTY5ZTNlNDJhNDJfMy0zLTEtMS0w_8c167c61-1334-4f35-b6ca-f92be9245578"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zNC9mcmFnOjQ2YmUwZGVjOTVjZjQzZDI5NDE4N2U3YTViOGRkOGY2L3RhYmxlOjc5OTQ2MTFlYTRjNzQ4MzA5NDJmM2I1ZGM5NDJkYTlmL3RhYmxlcmFuZ2U6Nzk5NDYxMWVhNGM3NDgzMDk0MmYzYjVkYzk0MmRhOWZfMi0xLTEtMS0w_3c5026b5-054e-4a97-bf35-6a6bdf418048"
      unitRef="usd">-585000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zNC9mcmFnOjQ2YmUwZGVjOTVjZjQzZDI5NDE4N2U3YTViOGRkOGY2L3RhYmxlOjc5OTQ2MTFlYTRjNzQ4MzA5NDJmM2I1ZGM5NDJkYTlmL3RhYmxlcmFuZ2U6Nzk5NDYxMWVhNGM3NDgzMDk0MmYzYjVkYzk0MmRhOWZfMi0yLTEtMS0w_edcf3ed2-b62a-44cf-8ad9-b9110eaa6050"
      unitRef="usd">-952000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="if2abbcbfbb784558b2c824b03eec1a13_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNDE4_c176f72a-05ff-4adb-8e5d-1c1fdca284ae">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <dei:DocumentType
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGV4dHJlZ2lvbjplYzJiMGZiODQwNDE0N2U2Yjg0ODUzODc1MDYwMzE4Zl8xODIz_148cb777-5582-4a25-8373-cb061edfc2ca">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGFibGU6ODhiYjgzZjE4NTQxNGNiZTg4NWQ1ZDdiMGM5NGYxZDcvdGFibGVyYW5nZTo4OGJiODNmMTg1NDE0Y2JlODg1ZDVkN2IwYzk0ZjFkN18wLTAtMS0xLTA_c5f38677-c85a-4a57-89ec-cb49c4035a66">true</dei:DocumentQuarterlyReport>
    <dei:DocumentTransitionReport
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGFibGU6ZjExNjg0ZDhhYTAxNGMyMmFiODNlOGJlNjI2MTg5ZjQvdGFibGVyYW5nZTpmMTE2ODRkOGFhMDE0YzIyYWI4M2U4YmU2MjYxODlmNF8wLTAtMS0xLTA_6f48890e-8050-499e-9b55-2f779801aabb">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGV4dHJlZ2lvbjplYzJiMGZiODQwNDE0N2U2Yjg0ODUzODc1MDYwMzE4Zl8xODE3_fbb7740f-34a7-41bb-8ba7-1c45722eadf6">001-34218</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGV4dHJlZ2lvbjplYzJiMGZiODQwNDE0N2U2Yjg0ODUzODc1MDYwMzE4Zl8xODI0_636d46a9-9c7f-4f36-9b9c-1b54b3f60d0c">COGNEX CORP</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGFibGU6NWMwOGRiYWZiYjIzNGUyMGE2ZWU2M2EyNzYwMmE4N2UvdGFibGVyYW5nZTo1YzA4ZGJhZmJiMjM0ZTIwYTZlZTYzYTI3NjAyYTg3ZV8wLTAtMS0xLTA_173b1492-3b01-473a-ad57-8c3e7017aa5a">MA</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGFibGU6NWMwOGRiYWZiYjIzNGUyMGE2ZWU2M2EyNzYwMmE4N2UvdGFibGVyYW5nZTo1YzA4ZGJhZmJiMjM0ZTIwYTZlZTYzYTI3NjAyYTg3ZV8wLTItMS0xLTA_d1996b4c-74e0-47d3-9b04-6b350ecd7aef">04-2713778</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGV4dHJlZ2lvbjplYzJiMGZiODQwNDE0N2U2Yjg0ODUzODc1MDYwMzE4Zl8xODE5_c0bfd364-3210-4548-95ce-ed816da6bdb6">One Vision Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGV4dHJlZ2lvbjplYzJiMGZiODQwNDE0N2U2Yjg0ODUzODc1MDYwMzE4Zl8xODE4_bf0975b1-097e-4f88-a181-6caed29c1bed">Natick</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGV4dHJlZ2lvbjplYzJiMGZiODQwNDE0N2U2Yjg0ODUzODc1MDYwMzE4Zl8xODIw_d0717556-c3d3-4396-86e5-00a14831f65a">MA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGV4dHJlZ2lvbjplYzJiMGZiODQwNDE0N2U2Yjg0ODUzODc1MDYwMzE4Zl8xODIx_a2daf87e-3d57-46ad-8a2f-9a01f66229a0">01760</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGV4dHJlZ2lvbjplYzJiMGZiODQwNDE0N2U2Yjg0ODUzODc1MDYwMzE4Zl8xODE2_7b140d5c-5a70-4a1c-b8d9-b351da1b8e20">508</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGV4dHJlZ2lvbjplYzJiMGZiODQwNDE0N2U2Yjg0ODUzODc1MDYwMzE4Zl8xODIy_2542f712-7625-4e29-a7d7-14ba671f82a9">650-3000</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGFibGU6MTk0ODQwZjY2OTc0NDkyODhjYTBjNWUwMDdmMTViMTkvdGFibGVyYW5nZToxOTQ4NDBmNjY5NzQ0OTI4OGNhMGM1ZTAwN2YxNWIxOV8xLTAtMS0xLTA_2af072e1-c181-4b83-ad53-8b9cc55a7aeb">Common Stock, par value $.002 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGFibGU6MTk0ODQwZjY2OTc0NDkyODhjYTBjNWUwMDdmMTViMTkvdGFibGVyYW5nZToxOTQ4NDBmNjY5NzQ0OTI4OGNhMGM1ZTAwN2YxNWIxOV8xLTEtMS0xLTA_e1acfd2e-6049-4b80-ab4e-12de14deb082">CGNX</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGFibGU6MTk0ODQwZjY2OTc0NDkyODhjYTBjNWUwMDdmMTViMTkvdGFibGVyYW5nZToxOTQ4NDBmNjY5NzQ0OTI4OGNhMGM1ZTAwN2YxNWIxOV8xLTItMS0xLTA_3c0746ed-8215-4889-a2ea-71e2b9761ccf">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGFibGU6NjE1MTAzZmNmMmE3NGVjYzkxY2NmODQ5M2FhMzk2MWEvdGFibGVyYW5nZTo2MTUxMDNmY2YyYTc0ZWNjOTFjY2Y4NDkzYWEzOTYxYV8wLTItMS0xLTA_72ff1131-74c8-452c-b7e3-6d3658724bd2">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGFibGU6NmMwMGNiN2E4OTRjNDM4ZjlmZWU3YjNlNGRlZTJiYTMvdGFibGVyYW5nZTo2YzAwY2I3YTg5NGM0MzhmOWZlZTdiM2U0ZGVlMmJhM18wLTItMS0xLTA_2dcf85a5-3af1-4b4d-ade9-c15a720e2684">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGFibGU6NWIwZjBlNzdhNmM4NDgwNWJkZGE0ZmVhYzJmZGI5MTMvdGFibGVyYW5nZTo1YjBmMGU3N2E2Yzg0ODA1YmRkYTRmZWFjMmZkYjkxM18wLTAtMS0xLTA_0d213c96-f598-4d62-8ce5-9ff9b8098f68">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGFibGU6NWIwZjBlNzdhNmM4NDgwNWJkZGE0ZmVhYzJmZGI5MTMvdGFibGVyYW5nZTo1YjBmMGU3N2E2Yzg0ODA1YmRkYTRmZWFjMmZkYjkxM18xLTctMS0xLTA_7a96c683-9a5e-415f-91ac-1925722c61ba">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGFibGU6NWIwZjBlNzdhNmM4NDgwNWJkZGE0ZmVhYzJmZGI5MTMvdGFibGVyYW5nZTo1YjBmMGU3N2E2Yzg0ODA1YmRkYTRmZWFjMmZkYjkxM18yLTctMS0xLTA_ec4a3ba7-16dd-443b-8ea9-db0b2e240fb1">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGFibGU6YWM1ODkyNjM1NDA4NGJkYWE2ZWZjZjE1YmY3ZjA5YjEvdGFibGVyYW5nZTphYzU4OTI2MzU0MDg0YmRhYTZlZmNmMTViZjdmMDliMV8wLTMtMS0xLTA_3b0752b9-99ae-446b-99f5-bd6fa2a54c5f">false</dei:EntityShellCompany>
    <dei:DocumentPeriodEndDate
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGV4dHJlZ2lvbjplYzJiMGZiODQwNDE0N2U2Yjg0ODUzODc1MDYwMzE4Zl8xNzE1_d6843614-56a1-4866-9e84-5678e5e84079">2021-04-04</dei:DocumentPeriodEndDate>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xL2ZyYWc6ZWMyYjBmYjg0MDQxNDdlNmI4NDg1Mzg3NTA2MDMxOGYvdGV4dHJlZ2lvbjplYzJiMGZiODQwNDE0N2U2Yjg0ODUzODc1MDYwMzE4Zl8xNzMw_f6ff67e1-88fa-4fb0-939d-cf867c6fb30d"
      unitRef="shares">176607781</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMy0xLTEtMS0w_807e83ad-8f92-4d6b-aace-8a39979bd6cd"
      unitRef="usd">239027000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMy0zLTEtMS0w_3a1675f9-236f-4f54-9db7-530d436b2d63"
      unitRef="usd">167235000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfNC0xLTEtMS0w_2e894b7b-7ca3-48d1-976b-3e13f2d78dc9"
      unitRef="usd">54045000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfNC0zLTEtMS0w_38fbe1be-8780-457c-83d0-27af5332073f"
      unitRef="usd">41200000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfNS0xLTEtMS0w_2b1e8f75-a67b-4a70-a34d-c791c746ec84"
      unitRef="usd">184982000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfNS0zLTEtMS0w_01371ed8-8d3d-42e8-a717-a023a6530c40"
      unitRef="usd">126035000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfNi0xLTEtMS0w_65f984cd-8352-4c9d-9444-8ac3d7e08465"
      unitRef="usd">34105000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfNi0zLTEtMS0w_1a5ee174-cb3b-4cc3-b021-c535ca393101"
      unitRef="usd">35946000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfNy0xLTEtMS0w_59e76710-cac5-4ea3-b939-ef57ecd5bbc0"
      unitRef="usd">72424000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfNy0zLTEtMS0w_d48728c5-fa95-48fa-9859-6e80043d271e"
      unitRef="usd">69138000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTAtMS0xLTEtMA_cb362dca-825f-49fe-884a-2e34ab5ca3dd"
      unitRef="usd">78453000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTAtMy0xLTEtMA_dc596225-89b7-41c7-9adc-1c162c7b7adf"
      unitRef="usd">20951000</us-gaap:OperatingIncomeLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTEtMS0xLTEtMA_92876894-173b-448a-87f0-92b06c0bf1e9"
      unitRef="usd">-1008000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTEtMy0xLTEtMA_058d1319-37ad-4621-a928-6d3e49744568"
      unitRef="usd">-3003000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTItMS0xLTEtMA_db46280f-3ba9-482d-b6ad-af2385fb36c8"
      unitRef="usd">1554000</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTItMy0xLTEtMA_bbc05d32-4c3d-41f6-8c59-24503d17e276"
      unitRef="usd">5229000</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTMtMS0xLTEtMA_519cda28-9c24-4742-a188-98227d852f74"
      unitRef="usd">-168000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTMtMy0xLTEtMA_a3ce8a71-f9ed-4d03-b452-508a42a717fd"
      unitRef="usd">-183000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTQtMS0xLTEtMA_ad253551-ceb5-44a9-9a18-2ddabaac10f0"
      unitRef="usd">78831000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTQtMy0xLTEtMA_3bcdc058-bb1a-4bac-b8ec-3fa1da324ab7"
      unitRef="usd">22994000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTUtMS0xLTEtMA_6e66b794-99aa-488a-a14f-027033bf37c3"
      unitRef="usd">8983000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTUtMy0xLTEtMA_d7d70d2c-ef66-487e-8bf7-edb9033fedda"
      unitRef="usd">2517000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTYtMS0xLTEtMA_3d726e25-70be-4527-8ad4-cc87c1600bc3"
      unitRef="usd">69848000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTYtMy0xLTEtMA_e1134ff8-730c-448b-9e82-03a6e3d6c469"
      unitRef="usd">20477000</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTktMS0xLTEtMA_4e17fa35-9f70-42d7-892f-d4696c15e686"
      unitRef="usdPerShare">0.40</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMTktMy0xLTEtMA_11323764-8050-4c06-b9cb-6b54a7a41aa4"
      unitRef="usdPerShare">0.12</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMjAtMS0xLTEtMA_4b91ca99-09b8-44f6-addd-30038bb55c03"
      unitRef="usdPerShare">0.39</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMjAtMy0xLTEtMA_84cd26eb-6a79-47ee-a5eb-8920211a8ebb"
      unitRef="usdPerShare">0.12</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMjMtMS0xLTEtMA_78aa5799-f92a-406b-a862-3d15ba38c651"
      unitRef="shares">176288000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMjMtMy0xLTEtMA_ac782b48-6221-4d1d-9778-8fc888ccd956"
      unitRef="shares">172408000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMjQtMS0xLTEtMA_753c1ccf-b96a-476f-9a33-357d198b4e5a"
      unitRef="shares">179971000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMjQtMy0xLTEtMA_77f34a05-3ed3-4bbc-8664-ff1e0c2d7318"
      unitRef="shares">175602000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMjYtMS0xLTEtMA_907b3152-5b5f-4c00-95d6-ed35d8c9afb5"
      unitRef="usdPerShare">0.060</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xMy9mcmFnOjViNDVmYzg5NjE2ODQyZjNiZmQ5YTMxMmY1NjRkNWU0L3RhYmxlOjdiYzNkMWQ0OWI4ODQ2ZGU4MTVjZjJhYWRlYThlOGI5L3RhYmxlcmFuZ2U6N2JjM2QxZDQ5Yjg4NDZkZTgxNWNmMmFhZGVhOGU4YjlfMjYtMy0xLTEtMA_59925c7d-0bb4-4ab3-96d0-85f536e7e466"
      unitRef="usdPerShare">0.055</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:NetIncomeLoss
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMy0xLTEtMS0w_6bb1131b-412b-480a-ac60-0e1259b4ac0e"
      unitRef="usd">69848000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMy0zLTEtMS0w_3b28e402-aa05-4795-8531-5f55dd64278d"
      unitRef="usd">20477000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i82fa5f7de0cd487a827a2eb7c6285e70_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMTEtMS0xLTEtMA_442acc68-b7a1-4b67-9516-238a0d5cdc0a"
      unitRef="usd">-1958000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMTEtMy0xLTEtMA_4df29467-8904-4f4d-bb54-48f508bb80fd"
      unitRef="usd">-3861000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossFinancialLiabilityFairValueOptionReclassificationAdjustmentFromAociForDerecognitionAfterTax
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMTItMS0xLTEtMA_8da906b5-3b9d-4d51-8764-e0f36ec5d8c7"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossFinancialLiabilityFairValueOptionReclassificationAdjustmentFromAociForDerecognitionAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossFinancialLiabilityFairValueOptionReclassificationAdjustmentFromAociForDerecognitionAfterTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMTItMy0xLTEtMA_464c865a-4939-4bc9-95ab-a461cfe52223"
      unitRef="usd">-160000</us-gaap:OtherComprehensiveIncomeLossFinancialLiabilityFairValueOptionReclassificationAdjustmentFromAociForDerecognitionAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="i82fa5f7de0cd487a827a2eb7c6285e70_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMTMtMS0xLTEtMA_dc45b80f-b0ab-45c7-93ce-422d4b9b0402"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMTMtMy0xLTEtMA_5c706ddd-1490-466d-b2a8-baba0a695215"
      unitRef="usd">1850000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMTQtMS0xLTEtMA_a8726fa2-91db-4995-9a27-ce551a82c533"
      unitRef="usd">-1958000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMTQtMy0xLTEtMA_ee35e7c1-7286-4e26-b544-b3cdcf745944"
      unitRef="usd">-5551000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i82fa5f7de0cd487a827a2eb7c6285e70_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMTctMS0xLTEtMA_67e231e8-4c68-461b-977e-fe2644221fa1"
      unitRef="usd">-2770000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMTctMy0xLTEtMA_c2f6dbb1-fd39-4288-a305-a6df8625b4ad"
      unitRef="usd">-7365000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMTgtMS0xLTEtMA_e77105ec-d8d7-4aaa-a633-b1d3aee9e249"
      unitRef="usd">-2770000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMTgtMy0xLTEtMA_21b733d3-959e-40df-965e-a567bb601816"
      unitRef="usd">-7365000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMjAtMS0xLTEtMA_586f8c26-4491-4d03-8817-f12a1f3fdcb8"
      unitRef="usd">-4728000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMjAtMy0xLTEtMA_25244d91-222a-46f9-9119-134e8dad3b92"
      unitRef="usd">-12916000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMjEtMS0xLTEtMA_10ed1560-f2f1-47aa-ba27-e29bd50e8a9a"
      unitRef="usd">65120000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8xNi9mcmFnOjBlZmE0NmFlNzBkZTRhNjVhMWZmZjVlZjlhNzY0ZGY3L3RhYmxlOjJiMjQ4NjExN2EzODRkZDliOTI5NjE0NjlhMDIxNjdlL3RhYmxlcmFuZ2U6MmIyNDg2MTE3YTM4NGRkOWI5Mjk2MTQ2OWEwMjE2N2VfMjEtMy0xLTEtMA_e207d9b6-e9e8-4e42-8323-ae5fb42fa360"
      unitRef="usd">7561000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNC0xLTEtMS0w_c59e0367-da0e-4346-bc00-269288b9bc4f"
      unitRef="usd">242688000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNC0zLTEtMS0w_855ef352-509d-4bd6-9d44-07da0cbed38d"
      unitRef="usd">269073000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNS0xLTEtMS0w_5d75bf69-9c3b-4b68-ad56-7de625428229"
      unitRef="usd">143233000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNS0zLTEtMS0w_5d1d1488-756c-4202-b03e-923e34ce5868"
      unitRef="usd">103240000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNi0wLTEtMS0wL3RleHRyZWdpb246MDkyYWNkMThiMDYzNDFjZThjMmNhNmU0NzEzMzJiOGRfMTY0OTI2NzQ0MTY3NDM_6d0e9744-32a1-40b1-ad4a-d0038d1053f9"
      unitRef="usd">798000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNi0wLTEtMS0wL3RleHRyZWdpb246MDkyYWNkMThiMDYzNDFjZThjMmNhNmU0NzEzMzJiOGRfMTY0OTI2NzQ0MTY3NDk_c341a36b-e9cc-451e-a8ed-d1d2cad74786"
      unitRef="usd">831000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNi0xLTEtMS0w_2f90c96f-2a3d-4e36-b33e-eac9fac4c5a0"
      unitRef="usd">128822000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNi0zLTEtMS0w_e64b759f-3e20-4e46-b71f-cfbe3d5e019d"
      unitRef="usd">125696000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNy0xLTEtMS0w_fd8e8fc0-66d4-46a8-b173-7bd30f6f035e"
      unitRef="usd">1663000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNy0zLTEtMS0w_86396d7c-c5fe-4aa6-b183-fac7ef11b7ea"
      unitRef="usd">5632000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:InventoryNet
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfOC0xLTEtMS0w_a1c33e0a-7572-4088-b28a-a01cc670e326"
      unitRef="usd">61392000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfOC0zLTEtMS0w_27a9a037-d938-425f-b391-3af44616039b"
      unitRef="usd">60830000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfOS0xLTEtMS0w_eb3c5b93-473e-44d3-b442-5cba47ddad98"
      unitRef="usd">47773000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfOS0zLTEtMS0w_9a7fca9e-2f9d-4169-9ccf-5ae5cd7c6497"
      unitRef="usd">37220000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTAtMS0xLTEtMA_e760340d-071f-4972-918a-d35c30afd721"
      unitRef="usd">625571000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTAtMy0xLTEtMA_6ad28f67-63d4-4a0d-8025-d8c18048d7d4"
      unitRef="usd">601691000</us-gaap:AssetsCurrent>
    <us-gaap:LongTermInvestments
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTEtMS0xLTEtMA_9297c636-b0ea-4193-8656-18410b59293a"
      unitRef="usd">490363000</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTEtMy0xLTEtMA_e6b01e3a-b74c-44b0-a593-3ffad1afd649"
      unitRef="usd">395125000</us-gaap:LongTermInvestments>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTItMS0xLTEtMA_592a7ea5-4a1a-466e-bada-d859b41247ec"
      unitRef="usd">77081000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTItMy0xLTEtMA_c84efc16-a026-4787-bdab-1878ecd40072"
      unitRef="usd">79173000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTMtMS0xLTEtMA_28b1768d-6af0-4f2e-97ad-725cbd0a7efa"
      unitRef="usd">20784000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTMtMy0xLTEtMA_64d68942-e4b7-4d62-b0f7-47a0dffd2f63"
      unitRef="usd">22582000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTQtMS0xLTEtMA_944989ad-07d4-46d1-b836-0d0021d609f4"
      unitRef="usd">243036000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTQtMy0xLTEtMA_3e3a1251-ef56-4ce8-bee5-89f6a52fc347"
      unitRef="usd">244078000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTUtMS0xLTEtMA_78445444-01c3-4820-a3c2-51d7706f6c78"
      unitRef="usd">14628000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTUtMy0xLTEtMA_acec1237-3762-42ec-8d7c-6adcd6af5ba5"
      unitRef="usd">15555000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTYtMS0xLTEtMA_4f62dc28-27f3-472a-a3f5-e086ba5696ff"
      unitRef="usd">429801000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTYtMy0xLTEtMA_916419f7-1da1-402b-a49c-78d904a6c379"
      unitRef="usd">434704000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTctMS0xLTEtMA_4d1eb52d-d766-4acb-85bf-3479616c05b0"
      unitRef="usd">7692000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTctMy0xLTEtMA_b845fbb3-43c5-41a2-a59f-3fa7cc37f00d"
      unitRef="usd">7794000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTgtMS0xLTEtMA_33ec6096-131b-4acb-bf3f-82791c4c6760"
      unitRef="usd">1908956000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMTgtMy0xLTEtMA_b869894c-db74-412a-aafa-c70292b54d63"
      unitRef="usd">1800702000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjItMS0xLTEtMA_e57a34dd-82d2-4d61-bc4b-782202ce286d"
      unitRef="usd">20970000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjItMy0xLTEtMA_60e77118-a827-4d86-9744-987771974262"
      unitRef="usd">16270000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjMtMS0xLTEtMA_64898d77-6207-4d48-9cc2-8a7fb33c1153"
      unitRef="usd">60422000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjMtMy0xLTEtMA_8a16f786-43ee-4b40-8c62-b437d05cd134"
      unitRef="usd">77264000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjQtMS0xLTEtMA_2e68d33c-eb30-406f-972f-4e12a1684b7f"
      unitRef="usd">18823000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjQtMy0xLTEtMA_2d140099-8b76-4353-aae5-81bc2ed86eb7"
      unitRef="usd">9379000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjUtMS0xLTEtMA_eb88020a-503a-40b6-8eb6-882428dd8088"
      unitRef="usd">51660000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjUtMy0xLTEtMA_eec8e764-9a75-48e1-9621-ded4d0013c22"
      unitRef="usd">21274000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjYtMS0xLTEtMA_04ea4f91-1af7-4693-a2dc-57f110088e96"
      unitRef="usd">7805000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjYtMy0xLTEtMA_a87c4445-cfae-4f9f-a476-975967d84884"
      unitRef="usd">8110000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjctMS0xLTEtMA_262cd7ad-e025-418e-95ee-469834eeed71"
      unitRef="usd">159680000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjctMy0xLTEtMA_2ad146b8-2263-4ee1-938d-de3e394d2774"
      unitRef="usd">132297000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjgtMS0xLTEtMA_859f564f-ab6c-4c76-89a8-9df67182379d"
      unitRef="usd">16223000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjgtMy0xLTEtMA_b89377f6-62cf-4d3e-8641-f551cbd42c82"
      unitRef="usd">18120000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjktMS0xLTEtMA_a38e9f58-a4c9-4896-aa8f-97605ebe27c2"
      unitRef="usd">310884000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMjktMy0xLTEtMA_5874c354-2155-4327-a9e8-8620816f79be"
      unitRef="usd">314952000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzAtMS0xLTEtMA_8e8e06ab-c2a6-43a0-b958-9b3ca0cc3ff5"
      unitRef="usd">14752000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzAtMy0xLTEtMA_39b4dfd4-392f-4b90-9c5d-e14cd9f1e242"
      unitRef="usd">14257000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:AccruedIncomeTaxes
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzEtMS0xLTEtMA_396ae279-2f66-4922-9065-7f25f9d33fc7"
      unitRef="usd">40963000</us-gaap:AccruedIncomeTaxes>
    <us-gaap:AccruedIncomeTaxes
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzEtMy0xLTEtMA_56bb0e87-d1ca-4f8e-9cf1-1716167eb250"
      unitRef="usd">48915000</us-gaap:AccruedIncomeTaxes>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzItMS0xLTEtMA_6ece69b4-2154-4afc-a1d5-ed9dc106b84a"
      unitRef="usd">9453000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzItMy0xLTEtMA_e3c94b21-b305-4428-bd3c-e1cd9acb22c7"
      unitRef="usd">9959000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzMtMS0xLTEtMA_21688219-3ae3-4035-8bef-779489161747"
      unitRef="usd">551955000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzMtMy0xLTEtMA_b6b99849-9fff-4b81-b991-9c5e484b1679"
      unitRef="usd">538500000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzYtMC0xLTEtNjAxMC90ZXh0cmVnaW9uOmEzNDliYjE0ZWFmNzQ0Njg4ZGEyZTE0NTI5OTc5ZmQzXzE2NDkyNjc0NDE2NzY4_a4518d26-1f07-4646-85b5-942d5cf0dfdb"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzYtMC0xLTEtNjAxMC90ZXh0cmVnaW9uOmEzNDliYjE0ZWFmNzQ0Njg4ZGEyZTE0NTI5OTc5ZmQzXzE2NDkyNjc0NDE2NzY4_c776a2fe-0e4b-4af4-8de0-3505df1f5a90"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzYtMC0xLTEtNjAxMC90ZXh0cmVnaW9uOmEzNDliYjE0ZWFmNzQ0Njg4ZGEyZTE0NTI5OTc5ZmQzXzE2NDkyNjc0NDE2Nzc0_08a390d7-b778-4146-9f5a-cb6300b8a064"
      unitRef="shares">400000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzYtMC0xLTEtNjAxMC90ZXh0cmVnaW9uOmEzNDliYjE0ZWFmNzQ0Njg4ZGEyZTE0NTI5OTc5ZmQzXzE2NDkyNjc0NDE2Nzc0_b410d4e1-dc33-4217-a104-7696aba31645"
      unitRef="shares">400000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzYtMC0xLTEtNjAxMC90ZXh0cmVnaW9uOmEzNDliYjE0ZWFmNzQ0Njg4ZGEyZTE0NTI5OTc5ZmQzXzE2NDkyNjc0NDE2Nzc5_34cbd540-0507-4549-96cd-028bf6307f39"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzYtMC0xLTEtNjAxMC90ZXh0cmVnaW9uOmEzNDliYjE0ZWFmNzQ0Njg4ZGEyZTE0NTI5OTc5ZmQzXzE2NDkyNjc0NDE2Nzc5_78ccffe6-08c4-4865-bbc2-58e8faead376"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzYtMC0xLTEtNjAxMC90ZXh0cmVnaW9uOmEzNDliYjE0ZWFmNzQ0Njg4ZGEyZTE0NTI5OTc5ZmQzXzE2NDkyNjc0NDE2Nzc5_7c0b7c79-f915-4391-9c93-5992352ed7eb"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzYtMC0xLTEtNjAxMC90ZXh0cmVnaW9uOmEzNDliYjE0ZWFmNzQ0Njg4ZGEyZTE0NTI5OTc5ZmQzXzE2NDkyNjc0NDE2Nzc5_7ea5ef7f-1f89-4b0e-ab14-57bb1b02a338"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValueOutstanding
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzYtMS0xLTEtMA_bee8b79d-7e2d-417d-ba6a-35d744aa5820"
      unitRef="usd">0</us-gaap:PreferredStockValueOutstanding>
    <us-gaap:PreferredStockValueOutstanding
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzYtMy0xLTEtMA_25d4fbd5-6540-49b6-bb3a-a73ae00d8365"
      unitRef="usd">0</us-gaap:PreferredStockValueOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzctMC0xLTEtMC90ZXh0cmVnaW9uOjNkOWE4YTIxNGQzNTQ3YmI5MjVhMTcwYjg3MWU5MTc3XzE2NDkyNjc0NDE2ODIw_20d23ca5-9758-4211-898c-113b93308f07"
      unitRef="usdPerShare">0.002</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzctMC0xLTEtMC90ZXh0cmVnaW9uOjNkOWE4YTIxNGQzNTQ3YmI5MjVhMTcwYjg3MWU5MTc3XzE2NDkyNjc0NDE2ODIw_cad1bd96-21aa-4d3e-be13-295b70a26fa1"
      unitRef="usdPerShare">0.002</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzctMC0xLTEtMC90ZXh0cmVnaW9uOjNkOWE4YTIxNGQzNTQ3YmI5MjVhMTcwYjg3MWU5MTc3XzE2NDkyNjc0NDE2ODMw_a88a2813-b071-45b7-b97e-b2de851d9963"
      unitRef="shares">300000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzctMC0xLTEtMC90ZXh0cmVnaW9uOjNkOWE4YTIxNGQzNTQ3YmI5MjVhMTcwYjg3MWU5MTc3XzE2NDkyNjc0NDE2ODMw_d0236803-d1a6-4c28-a4c9-b89a4d22a6f3"
      unitRef="shares">300000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzctMC0xLTEtMC90ZXh0cmVnaW9uOjNkOWE4YTIxNGQzNTQ3YmI5MjVhMTcwYjg3MWU5MTc3XzE2NDkyNjc0NDE2ODQw_89560a94-fd03-4646-b422-2a9395c3cafd"
      unitRef="shares">176608000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzctMC0xLTEtMC90ZXh0cmVnaW9uOjNkOWE4YTIxNGQzNTQ3YmI5MjVhMTcwYjg3MWU5MTc3XzE2NDkyNjc0NDE2ODQw_dfd86216-6c4f-40e3-b7a8-75b06b6cf43b"
      unitRef="shares">176608000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzctMC0xLTEtMC90ZXh0cmVnaW9uOjNkOWE4YTIxNGQzNTQ3YmI5MjVhMTcwYjg3MWU5MTc3XzE2NDkyNjc0NDE2ODUw_1de9c85b-e498-4055-91bf-e86a298b146b"
      unitRef="shares">175790000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzctMC0xLTEtMC90ZXh0cmVnaW9uOjNkOWE4YTIxNGQzNTQ3YmI5MjVhMTcwYjg3MWU5MTc3XzE2NDkyNjc0NDE2ODUw_59e19037-a77d-4e4c-8fdc-a5f192beacc6"
      unitRef="shares">175790000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValueOutstanding
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzctMS0xLTEtMA_8b00c327-bcee-4826-83ab-58eff2d4e84d"
      unitRef="usd">353000</us-gaap:CommonStockValueOutstanding>
    <us-gaap:CommonStockValueOutstanding
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzctMy0xLTEtMA_aec043dc-db07-4982-8526-807abdb4865a"
      unitRef="usd">352000</us-gaap:CommonStockValueOutstanding>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzgtMS0xLTEtMA_da33c01b-09dc-4c45-9134-77a4321a9851"
      unitRef="usd">854491000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzgtMy0xLTEtMA_2e16bd5a-8eea-4fe7-b10e-dbae433ffc11"
      unitRef="usd">807739000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzktMS0xLTEtMA_b6ce31f2-e189-4ea8-ae2b-1ba51844d151"
      unitRef="usd">540686000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfMzktMy0xLTEtMA_3a7f32d3-6049-41e1-ac13-75ceb51c3f5c"
      unitRef="usd">487912000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNDAtMS0xLTEtMA_ce91ae09-d8c4-4e72-8357-f468c49fb27e"
      unitRef="usd">-38529000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNDAtMy0xLTEtMA_59daa933-7dda-452b-8ecd-cba72680d180"
      unitRef="usd">-33801000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNDEtMS0xLTEtMA_9281f3ca-3213-4fcd-9a35-4857cc749cf1"
      unitRef="usd">1357001000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNDEtMy0xLTEtMA_d2497c95-3a7a-4071-ab4f-efe6c0ce96f8"
      unitRef="usd">1262202000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNDItMS0xLTEtMA_a540c139-9b08-44e9-9997-2251f98ca1e4"
      unitRef="usd">1908956000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yMi9mcmFnOjI1OTk4NmZkMWRhMDQwMDg5ZWY0N2NlZjgxZDAyMTliL3RhYmxlOjI4Y2M4YjhmYTUyMTRjNzRhY2UyODhiMTM3ZmI3YWQ0L3RhYmxlcmFuZ2U6MjhjYzhiOGZhNTIxNGM3NGFjZTI4OGIxMzdmYjdhZDRfNDItMy0xLTEtMA_1f656dd2-e613-4882-ba36-0fc33b5f96ae"
      unitRef="usd">1800702000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNC0xLTEtMS0w_3d726e25-70be-4527-8ad4-cc87c1600bc3"
      unitRef="usd">69848000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNC0zLTEtMS0w_f3f7961c-05d1-4c33-a382-50cfb4252195"
      unitRef="usd">20477000</us-gaap:NetIncomeLoss>
    <us-gaap:StockOptionPlanExpense
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNi0xLTEtMS0w_168adc24-4ed2-477a-b375-b214304b8da4"
      unitRef="usd">12009000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNi0zLTEtMS0w_f12470d0-6cef-4ad2-91d6-ac5dbc5b01d4"
      unitRef="usd">14790000</us-gaap:StockOptionPlanExpense>
    <us-gaap:Depreciation
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNy0xLTEtMS0w_55afc469-e623-40d0-8248-246b3152afac"
      unitRef="usd">4259000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNy0zLTEtMS0w_6467c353-d257-4a44-99f9-09ffeb5822f4"
      unitRef="usd">5631000</us-gaap:Depreciation>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfOC0xLTEtMS0yODgz_3ee4196a-d8e0-4fd1-a9e1-2ede9a829038"
      unitRef="usd">3000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfOC0zLTEtMS0yODg1_a3f2b7ff-80f8-4df9-8b10-1f0c5d2e57d9"
      unitRef="usd">2000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfOC0xLTEtMS0w_ab2aa3b2-48f8-47f5-af92-144751db5239"
      unitRef="usd">927000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfOC0zLTEtMS0w_16626d42-fee0-4525-90e0-3d2ee83c1a4c"
      unitRef="usd">1388000</us-gaap:AmortizationOfIntangibleAssets>
    <cgnx:ExcessAndObsoleteInventoryCharges
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTAtMS0xLTEtMA_37f156e0-eec6-4d6a-8f21-68bfa10a77db"
      unitRef="usd">705000</cgnx:ExcessAndObsoleteInventoryCharges>
    <cgnx:ExcessAndObsoleteInventoryCharges
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTAtMy0xLTEtMA_38e3ea62-7c50-4a8b-9239-fc7c98ccfe74"
      unitRef="usd">1065000</cgnx:ExcessAndObsoleteInventoryCharges>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTItMS0xLTEtMA_dcc18bf8-6168-4b9c-99b4-a3f45af47b25"
      unitRef="usd">-586000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTItMy0xLTEtMA_de8a18a5-130f-491f-a454-53e7a8582dbc"
      unitRef="usd">-106000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTMtMS0xLTEtMA_8b7fe009-9871-477b-b2e0-8d2f4662f0b8"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfInvestments>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTMtMy0xLTEtMA_2f2bca20-ed06-4698-947a-163f66bae2dd"
      unitRef="usd">1850000</us-gaap:GainLossOnSaleOfInvestments>
    <us-gaap:MarketableSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairments
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTQtMS0xLTEtMA_d66a1829-a310-4e56-bef3-2add85ced0ff"
      unitRef="usd">0</us-gaap:MarketableSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairments>
    <us-gaap:MarketableSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairments
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTQtMy0xLTEtMA_334cbb54-9b50-45d4-8461-de14a715c0b0"
      unitRef="usd">-160000</us-gaap:MarketableSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairments>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTYtMS0xLTEtMA_23d85fa1-d363-4423-bb40-6452693e5c52"
      unitRef="usd">-1250000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTYtMy0xLTEtMA_b003ee8d-9666-47ab-95fb-6bfc533e2775"
      unitRef="usd">1826000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTgtMS0xLTEtMA_0e387d72-a028-4efa-8c86-f37f365dba12"
      unitRef="usd">3495000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTgtMy0xLTEtMA_7365d8cc-7c95-4110-a356-8358793c07e5"
      unitRef="usd">-2182000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTktMS0xLTEtMA_640607ed-3d36-460e-affb-152ec26d5fa3"
      unitRef="usd">3958000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMTktMy0xLTEtMA_addd2f1e-dc3a-4722-bd7b-71a90c9fd90a"
      unitRef="usd">-703000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjAtMS0xLTEtMA_2ab75ab8-378f-4944-9e20-c0af94cb2508"
      unitRef="usd">1323000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjAtMy0xLTEtMA_3281c076-61a6-401d-8744-da450659fc60"
      unitRef="usd">-3889000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjItMS0xLTEtMA_7b1c4c4c-8fa6-47e8-b047-0e6d3f2c75b0"
      unitRef="usd">10882000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjItMy0xLTEtMA_30751942-9ae3-4d84-a38e-2a5da20e1661"
      unitRef="usd">9788000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjMtMS0xLTEtMA_8b323db6-d130-4106-9f5b-e6098f5d152e"
      unitRef="usd">4760000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjMtMy0xLTEtMA_b13b9006-5f8e-4bef-b18b-168efe6042a5"
      unitRef="usd">-1613000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjQtMS0xLTEtMA_a2e6a117-c35f-40ab-a12a-54f4981abfdf"
      unitRef="usd">-15973000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjQtMy0xLTEtMA_6cdeba8b-6ab7-4cda-93f1-1c995e102b75"
      unitRef="usd">12720000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjUtMS0xLTEtMA_850a6ad4-a70c-4122-b833-19bd29634857"
      unitRef="usd">1651000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjUtMy0xLTEtMA_e5f7c3f3-7dce-4713-a7f6-976a78310f7b"
      unitRef="usd">7650000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjYtMS0xLTEtMA_800720ad-0c59-4a4a-a39f-008e9df96d30"
      unitRef="usd">30641000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjYtMy0xLTEtMA_f6df1ff5-c13a-428b-afcf-d1540c42317a"
      unitRef="usd">11961000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjctMS0xLTEtMA_8b51580e-ade2-47c3-b310-95b776e931d3"
      unitRef="usd">285000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjctMy0xLTEtMA_97d1b50d-7038-43a5-a969-cc917f434182"
      unitRef="usd">4206000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjgtMS0xLTEtMA_2d7c7ed2-2840-482b-a17d-9a03b2515d83"
      unitRef="usd">98639000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMjgtMy0xLTEtMA_f464365a-9bbc-4cc0-8e40-1aeb2eb60430"
      unitRef="usd">62035000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMzAtMS0xLTEtMA_4edbd6d5-9935-43d6-9b19-66de80a9dafd"
      unitRef="usd">298911000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMzAtMy0xLTEtMA_cf987d55-c60c-47e5-a3f6-2cd432410920"
      unitRef="usd">199530000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMzEtMS0xLTEtMA_9f0da209-6b03-4ff9-8a74-aaaceee12b7a"
      unitRef="usd">160552000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMzEtMy0xLTEtMA_bedf7064-a3a8-4046-95fb-411665687f0a"
      unitRef="usd">262126000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMzItMS0xLTEtMA_f338a916-a5e9-4f3c-9266-b3fcbe818d62"
      unitRef="usd">2436000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMzItMy0xLTEtMA_9d0881f1-2f28-4328-8e9f-13bd5822b0f4"
      unitRef="usd">3074000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMzYtMS0xLTEtMA_3c7b808b-6ec3-4075-bc47-7d17e30b21c2"
      unitRef="usd">-140795000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMzYtMy0xLTEtMA_1094455c-2896-40ae-9006-4deb9e9aad03"
      unitRef="usd">59522000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMzgtMS0xLTEtMA_6d354a1f-28d6-41c5-8ea7-fdd1569cbf7d"
      unitRef="usd">34744000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMzgtMy0xLTEtMA_5bbe7efa-1196-4e4f-8633-b58dfdced35c"
      unitRef="usd">9971000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMzktMS0xLTEtMA_4bc6b9f1-e849-490d-afdd-89db2d7217e7"
      unitRef="usd">6479000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfMzktMy0xLTEtMA_57d39858-ed65-46d0-a453-3c7bd88417ea"
      unitRef="usd">51036000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNDAtMS0xLTEtMA_57d12925-3375-4dc2-9d57-d0cb36a8a658"
      unitRef="usd">10595000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNDAtMy0xLTEtMA_ed88f40f-e292-4079-84c1-bcacc3f81125"
      unitRef="usd">9503000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNDItMS0xLTEtMA_f025ac5e-e5cd-4c27-a251-25ea84645cda"
      unitRef="usd">17670000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNDItMy0xLTEtMA_83da2161-afef-4d0b-980d-30656838d7a6"
      unitRef="usd">-50568000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNDMtMS0xLTEtMA_d7285d16-f54e-4aec-92e3-a41c4a551243"
      unitRef="usd">-1899000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNDMtMy0xLTEtMA_bf66d921-7676-40cb-97a9-532bb05ffb40"
      unitRef="usd">-3223000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNDQtMS0xLTEtMA_60712395-d9a2-4c39-881a-b1a090963519"
      unitRef="usd">-26385000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNDQtMy0xLTEtMA_2968430f-d89a-4f45-b93b-3b23a4408c2f"
      unitRef="usd">67766000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNDUtMS0xLTEtMA_4f6d2e7a-cee8-4dd7-b1ad-7133f09ba7a3"
      unitRef="usd">269073000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i787be2f36060440599736e048c4cc622_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNDUtMy0xLTEtMA_cfb60004-86ac-4b84-b4cc-18b3701943bb"
      unitRef="usd">171431000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNDYtMS0xLTEtMA_d9e3ee1a-d6c6-4b33-815f-ce199aa7694a"
      unitRef="usd">242688000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ida310db592234913992545bdd5ffa7da_I20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8yOC9mcmFnOmZkNGE5OGVkNzBlYzRjN2JiMTllMjVkNTYzZDhhMDA5L3RhYmxlOjMyZjkxYWZlNDJiODQxOTE5OGU5NTdhNTlkZGVhNGQzL3RhYmxlcmFuZ2U6MzJmOTFhZmU0MmI4NDE5MTk4ZTk1N2E1OWRkZWE0ZDNfNDYtMy0xLTEtMA_9f52bff5-b786-40de-a6ef-25b53f59a2e1"
      unitRef="usd">239197000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CommonStockSharesIssued
      contextRef="i2c55d50972b944c692ab5ab25b3253d5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMi0xLTEtMS0w_7da91566-70b3-48ee-abaa-02d7b2b737a2"
      unitRef="shares">175790000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i2c55d50972b944c692ab5ab25b3253d5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMi0zLTEtMS0w_ae089eba-5058-421b-99b5-79da0392738f"
      unitRef="usd">352000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iddbaebb21f094475aca60be12374e7db_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMi01LTEtMS0w_34bf971c-8225-4bb3-953e-5642c7b7f236"
      unitRef="usd">807739000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i93ff25765bdd476db10f1577f2f2c158_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMi03LTEtMS0w_15d52883-c3d9-4cc4-a2af-61390b845af7"
      unitRef="usd">487912000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8801bf7cf50c4618939866f304777fdc_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMi05LTEtMS0w_429f82ce-16fa-445e-96c6-87ec62e531a0"
      unitRef="usd">-33801000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMi0xMS0xLTEtMA_83899831-3df2-4c1c-b9fa-5f143cdc262c"
      unitRef="usd">1262202000</us-gaap:StockholdersEquity>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="ie53a0b5d84504a11bdcd2b5635124234_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMy0xLTEtMS0w_c185a859-ec69-48b9-9fa9-a1a83371d6be"
      unitRef="shares">898000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ie53a0b5d84504a11bdcd2b5635124234_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMy0zLTEtMS0w_2d813a47-6634-4fb3-a836-ecb8c30f182b"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i396405e10e8643eca63a69b9bcbe5855_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMy01LTEtMS0w_54a0c7c7-0dff-4653-b69d-62ea22f4d100"
      unitRef="usd">34743000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMy0xMS0xLTEtMA_4ddc5fed-06a2-40ca-bb7a-884da2a89097"
      unitRef="usd">34744000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="ie53a0b5d84504a11bdcd2b5635124234_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfNC0xLTEtMS0w_e6c2980a-fb47-41c6-8f9a-39c979db7da8"
      unitRef="shares">80000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ifd5d782181ec49a0907b8a66e0a1d8c1_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfNC03LTEtMS0w_3be127b9-8974-47a3-840e-1cdf1bb4bdb3"
      unitRef="usd">6479000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfNC0xMS0xLTEtMA_0aa7ea10-3b51-4203-9859-9319dc1109ec"
      unitRef="usd">6479000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i396405e10e8643eca63a69b9bcbe5855_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfNS01LTEtMS0w_65aebc90-8229-4348-9f61-cb7483e8c40f"
      unitRef="usd">12009000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfNS0xMS0xLTEtMA_6faec1be-cddf-40a0-8803-3f6bbd9eef87"
      unitRef="usd">12009000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:DividendsCash
      contextRef="ifd5d782181ec49a0907b8a66e0a1d8c1_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfNi03LTEtMS0w_a8579acb-06e3-4bd1-be1a-41e226bc674f"
      unitRef="usd">10595000</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfNi0xMS0xLTEtMA_69ff0f7b-83f2-4c21-ae54-ec1cd8a1d2ec"
      unitRef="usd">10595000</us-gaap:DividendsCash>
    <us-gaap:NetIncomeLoss
      contextRef="ifd5d782181ec49a0907b8a66e0a1d8c1_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfOC03LTEtMS0w_0fd52bf5-3682-4e7f-b987-a8fd0fd9e27f"
      unitRef="usd">69848000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfOC0xMS0xLTEtMA_12c1ef9c-4ff7-4444-984c-9ea38c6c2d6d"
      unitRef="usd">69848000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i82fa5f7de0cd487a827a2eb7c6285e70_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMTEtOS0xLTEtMA_30314f76-f786-4893-af78-f6ff6571e852"
      unitRef="usd">-1958000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMTEtMTEtMS0xLTA_37294b13-5e36-46d0-8d83-b42a4979392a"
      unitRef="usd">-1958000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i82fa5f7de0cd487a827a2eb7c6285e70_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMTQtOS0xLTEtMA_7c5c0172-8069-4b3b-af0c-fdda7637770b"
      unitRef="usd">-2770000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMTQtMTEtMS0xLTA_e3fc6916-a02a-4c03-99b3-7a203240f1e4"
      unitRef="usd">-2770000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="i5a9d3045dd8d45d08e3e8a53d63e4ec7_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMTUtMS0xLTEtMA_5cc1fdb9-615d-4eb1-887d-28ae498dfc9b"
      unitRef="shares">176608000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i5a9d3045dd8d45d08e3e8a53d63e4ec7_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMTUtMy0xLTEtMA_c1049858-d81a-48bd-bf9d-77a2f6c7c3c7"
      unitRef="usd">353000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8d2c39b29f3b4b108b94d761470b598f_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMTUtNS0xLTEtMA_0aebdd4e-4ece-4601-8793-1ba4eaa0b631"
      unitRef="usd">854491000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5dd69cd4abe4488aba91b2d7b272dc55_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMTUtNy0xLTEtMA_a6b8b1be-3777-4133-a75c-5f6d1e2ceab2"
      unitRef="usd">540686000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3cdd92cc82f342f899e51efc5f4c055f_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMTUtOS0xLTEtMA_913f3a65-e297-467a-a62c-2e5ebc6ba36d"
      unitRef="usd">-38529000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOjIzZDc0NmNjNWVhMDQyNjJiNDU4OTVjNjJhOGI0YTg2L3RhYmxlcmFuZ2U6MjNkNzQ2Y2M1ZWEwNDI2MmI0NTg5NWM2MmE4YjRhODZfMTUtMTEtMS0xLTA_bc8be622-4153-4742-b0a5-717306c4f95d"
      unitRef="usd">1357001000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesIssued
      contextRef="ic45c57bbf6ca4a64835825af1538f3b3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMi0xLTEtMS0w_ca66fb2e-2c60-4979-bf46-68e08dc3dc71"
      unitRef="shares">172440000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ic45c57bbf6ca4a64835825af1538f3b3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMi0zLTEtMS0w_87404391-8b14-47e8-89e3-d2d3ea54f657"
      unitRef="usd">345000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1a3507b1e5804e41b5c96aa988ef3ab9_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMi01LTEtMS0w_2f0b0198-f2a0-4651-b834-2e7d598bce0e"
      unitRef="usd">639372000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic18c24d7ffe24c5588a93449a028c9eb_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMi03LTEtMS0w_970d7d21-eb2a-4113-96b6-4c400a5ab3a1"
      unitRef="usd">753268000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifadfe70c32ba488ea6bd115bdbd10ba3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMi05LTEtMS0w_5171bd94-cd41-45cb-814f-46a6454ce357"
      unitRef="usd">-37275000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i787be2f36060440599736e048c4cc622_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMi0xMS0xLTEtMA_cc890d46-a6b9-47ff-b24e-974049c5cc6a"
      unitRef="usd">1355710000</us-gaap:StockholdersEquity>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="i0b313fbc3dbe484ba376d9ac7f0ab1d3_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMy0xLTEtMS0w_55a7656d-4f3d-40fc-bfd6-f10e50161faf"
      unitRef="shares">463000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i0b313fbc3dbe484ba376d9ac7f0ab1d3_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMy0zLTEtMS0w_68a23dd3-fae8-4a3e-b8ea-5ae58042144e"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i1a6ea78a093b4dd3be0f0763de6eccad_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMy01LTEtMS0w_0dc8f014-1f0b-4781-b57d-c9a118e4f154"
      unitRef="usd">9970000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMy0xMS0xLTEtMA_1ae7af94-5974-4c28-8357-98a1cc3868df"
      unitRef="usd">9971000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i0b313fbc3dbe484ba376d9ac7f0ab1d3_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfNC0xLTEtMS0w_b92a7a02-461b-4cde-be8e-f6a908caf81e"
      unitRef="shares">1215000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i0b313fbc3dbe484ba376d9ac7f0ab1d3_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfNC0zLTEtMS0w_05eda7bc-469c-402b-a406-50ae59ef8418"
      unitRef="usd">2000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i28af2f68e1194526a79872864d18014f_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfNC03LTEtMS0w_5108c071-6a90-4a5f-b68a-4ee97e8e1fac"
      unitRef="usd">51034000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfNC0xMS0xLTEtMA_5444b66f-3e3c-429c-88bf-c1276803c979"
      unitRef="usd">51036000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1a6ea78a093b4dd3be0f0763de6eccad_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfNS01LTEtMS0w_7f552729-fae9-470d-bca8-187162be8e95"
      unitRef="usd">14790000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfNS0xMS0xLTEtMA_e6ef5442-3f3d-4942-a1d4-3cb83d529962"
      unitRef="usd">14790000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:DividendsCash
      contextRef="i28af2f68e1194526a79872864d18014f_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfNi03LTEtMS0w_80f98ea4-cbcb-42cf-95ac-e7003a604d2b"
      unitRef="usd">9503000</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfNi0xMS0xLTEtMA_76ae12ad-cb35-451d-a479-a0babba3dc66"
      unitRef="usd">9503000</us-gaap:DividendsCash>
    <us-gaap:NetIncomeLoss
      contextRef="i28af2f68e1194526a79872864d18014f_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfOC03LTEtMS0w_3f9a256d-b08b-4434-856f-f42c4d52f14b"
      unitRef="usd">20477000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfOC0xMS0xLTEtMA_a9d00555-ce33-4530-a93f-12cd6dee6176"
      unitRef="usd">20477000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i3b98c51734d1457da2a9e80a7f3ef400_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfOS05LTEtMS0w_9406af0c-87d3-46f5-a7ce-e895e56836eb"
      unitRef="usd">-3861000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfOS0xMS0xLTEtMA_e8db9ecb-f2ee-4def-8deb-881b1964c9a6"
      unitRef="usd">-3861000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i3b98c51734d1457da2a9e80a7f3ef400_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfOS05LTEtMS00NTg_0728b3f4-5c08-4467-ad4f-abd6e357de03"
      unitRef="usd">160000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfOS0xMS0xLTEtNDYz_c764be71-7f42-443d-aeaf-1a59f9db5ae0"
      unitRef="usd">160000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="i3b98c51734d1457da2a9e80a7f3ef400_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMTAtOS0xLTEtMA_b714536d-5413-4ade-b548-d72a8f46229f"
      unitRef="usd">1850000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMTAtMTEtMS0xLTA_68946e93-c6c6-41ec-b788-bbebec76420f"
      unitRef="usd">1850000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i3b98c51734d1457da2a9e80a7f3ef400_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMTEtOS0xLTEtMA_2f98a420-1b24-49b1-80a4-92b9480b865c"
      unitRef="usd">-7365000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMTEtMTEtMS0xLTA_e8b80b40-5bee-4001-adc9-3eef017b105e"
      unitRef="usd">-7365000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="if2387abea0cb4c09984dc4a5be3273c0_I20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMTItMS0xLTEtMA_9f7c4344-2ab6-4b1e-94b6-68e6fed9c0c6"
      unitRef="shares">171688000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="if2387abea0cb4c09984dc4a5be3273c0_I20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMTItMy0xLTEtMA_3570345b-1cfc-42b5-958b-46e9fe04d0f8"
      unitRef="usd">344000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if536fb54e58d4b48a461a62c6dfa1eb8_I20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMTItNS0xLTEtMA_d3bb21f4-be00-4706-8918-5c64e3153a9e"
      unitRef="usd">664132000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie31b6d5d70f2421d89405c1d86e98483_I20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMTItNy0xLTEtMA_33a69bd9-bbec-44e6-afc5-232cd59a9f40"
      unitRef="usd">713208000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i28564207037b4309a8b174e7e31d64a9_I20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMTItOS0xLTEtMA_ff578c74-6fca-49f0-8df0-115911a27054"
      unitRef="usd">-50191000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ida310db592234913992545bdd5ffa7da_I20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF8zMS9mcmFnOmJiZjA4ZDgwNmI1ZDRmOGI5YmY3ZDEyNWI3OWRmODhkL3RhYmxlOmM3OGYzM2IwYTc2YzRmMzNhODNlMDQ1YzEwNTdiNmVkL3RhYmxlcmFuZ2U6Yzc4ZjMzYjBhNzZjNGYzM2E4M2UwNDVjMTA1N2I2ZWRfMTItMTEtMS0xLTA_7a1ebcc2-2c80-4343-ba3d-cf38ef8dac15"
      unitRef="usd">1327493000</us-gaap:StockholdersEquity>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80MC9mcmFnOmE4OGEwZTA5M2FmMjQ4OGQ5YTA0NzljZGM1YzAxMTQzL3RleHRyZWdpb246YTg4YTBlMDkzYWYyNDg4ZDlhMDQ3OWNkYzVjMDExNDNfNjc4MQ_dc792b86-ec2b-4035-951e-f32b730ee690">Summary of Significant Accounting Policies&lt;div style="margin-top:6pt;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 permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form          10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). Reference should be made to the consolidated financial statements and related notes included in the Company&#x2019;s Annual Report on Form 10-K for the year ended December&#160;31, 2020 for a full description of other significant accounting policies.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 the opinion of the management of Cognex Corporation (the "Company"), the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company&#x2019;s financial position as of April&#160;4, 2021, and the results of its operations for the three-month periods ended April&#160;4, 2021 and March&#160;29, 2020, and changes in shareholders&#x2019; equity, comprehensive income, and cash flows for the periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 results disclosed in the Consolidated Statements of Operations for the three-month period ended April&#160;4, 2021 are not necessarily indicative of the results to be expected for the full year.&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80My9mcmFnOmEwZThmNzg4MDJlNTQ0Yjc4YmU5NDY3YzJiMThkNTczL3RleHRyZWdpb246YTBlOGY3ODgwMmU1NDRiNzhiZTk0NjdjMmIxOGQ1NzNfNDMxMA_5e34b821-e4cf-4835-abca-fbd9684a571a">New Pronouncements&lt;div style="margin-top:6pt;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;Accounting Standards Update (ASU) 2019-12, "Simplifying the Accounting for Income Taxes"&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 amendments in this ASU eliminate certain exceptions related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period, and the recognition of deferred tax liabilities for outside basis differences. They also clarify and simplify other aspects of the accounting for income taxes. The Company adopted ASU 2019-12 on January 1, 2021. Upon adoption, ASU 2019-12 did not have a material impact on the Company's consolidated financial statements and disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Accounting Standards Update (ASU) 2020-08, "Codification Improvements to Subtopic 310-20, Receivables - Nonrefundable Fees and Other Costs" &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 amendments in this ASU clarify that for each reporting period, for callable debt with multiple call dates and call prices that may change at each call date, to the extent that the amortized cost basis of an individual callable debt security exceeds the amount repayable by the issuer at the next call date, the excess is amortized to the next call date. The Company adopted ASU 2020-08 on January 1, 2021. Upon adoption, ASU 2020-08 did not have a material impact on the Company's consolidated financial statements and disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting" and (ASU) 2021-01, "Reference Rate Reform (Topic 848): Scope"&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 amendments in these ASUs apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. Together, the ASUs provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022, except for hedging relationships existing as of December 31, 2022, that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in these ASUs are effective for all entities as of March 12, 2020 through December 31, 2022. Management does not expect ASU 2020-04 or ASU 2021-01 to have a material impact on the Company's consolidated financial statements and disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80My9mcmFnOmEwZThmNzg4MDJlNTQ0Yjc4YmU5NDY3YzJiMThkNTczL3RleHRyZWdpb246YTBlOGY3ODgwMmU1NDRiNzhiZTk0NjdjMmIxOGQ1NzNfNDMxNQ_abf7bf76-6fd8-446b-bca6-93c5d8c4c95f">New Pronouncements&lt;div style="margin-top:6pt;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;Accounting Standards Update (ASU) 2019-12, "Simplifying the Accounting for Income Taxes"&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 amendments in this ASU eliminate certain exceptions related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period, and the recognition of deferred tax liabilities for outside basis differences. They also clarify and simplify other aspects of the accounting for income taxes. The Company adopted ASU 2019-12 on January 1, 2021. Upon adoption, ASU 2019-12 did not have a material impact on the Company's consolidated financial statements and disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Accounting Standards Update (ASU) 2020-08, "Codification Improvements to Subtopic 310-20, Receivables - Nonrefundable Fees and Other Costs" &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 amendments in this ASU clarify that for each reporting period, for callable debt with multiple call dates and call prices that may change at each call date, to the extent that the amortized cost basis of an individual callable debt security exceeds the amount repayable by the issuer at the next call date, the excess is amortized to the next call date. The Company adopted ASU 2020-08 on January 1, 2021. Upon adoption, ASU 2020-08 did not have a material impact on the Company's consolidated financial statements and disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting" and (ASU) 2021-01, "Reference Rate Reform (Topic 848): Scope"&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 amendments in these ASUs apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. Together, the ASUs provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022, except for hedging relationships existing as of December 31, 2022, that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in these ASUs are effective for all entities as of March 12, 2020 through December 31, 2022. Management does not expect ASU 2020-04 or ASU 2021-01 to have a material impact on the Company's consolidated financial statements and disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RleHRyZWdpb246MmI3ZDNhM2NhNWVjNGZmZjk2OTdkMDc3YjViMTFhNjdfNDYzNA_45e939be-c1fa-4931-b9c7-da55a1739c3e">Fair Value Measurements&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of April&#160;4, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.998%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.712%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.712%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.714%"/&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:9pt;font-weight:700;line-height:100%"&gt;Quoted&#160;Prices&#160;in&lt;br/&gt;Active Markets&lt;br/&gt;for Identical&lt;br/&gt;Assets (Level 1)&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;Significant Other&lt;br/&gt;Observable&lt;br/&gt;Inputs (Level 2)&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;Unobservable Inputs (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;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market instruments&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;25,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="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;&#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 19pt;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;&#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;384,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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 19pt;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;Treasury bills&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;131,409&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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 19pt;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;&#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;79,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency 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;18,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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 19pt;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;Sovereign 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;&#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;12,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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 19pt;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;Commercial paper&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;10,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'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;&#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;7,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Economic hedge forward contracts&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;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Economic hedge forward contracts&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;124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;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&#x2019;s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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&#x2019;s debt securities and forward contracts are reported at fair value based on model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2. Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service. For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data. They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations. The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency. The market participants are generally large commercial banks.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid using significant inputs that are not observable in the market, and are therefore classified as Level 3. Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones. The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 fair value of the contingent consideration liability related to the Company's acquisition of GVi Ventures, Inc. in 2017 was written down to zero in 2019 resulting from a lower level of revenue in the Americas' automotive industry, and the balance remains at zero as of April&#160;4, 2021. The undiscounted potential outcomes related to future contingent consideration range from $0 to $2,500,000 based upon certain revenue levels over the next year. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Non-financial assets, such as property, plant and equipment, operating lease assets, goodwill, and intangible assets, are required to be measured at fair value only when an impairment loss is recognized. The Company evaluates these long-lived assets for impairment whenever events or changes in circumstances, referred to as "triggering events," indicate the carrying value may not be recoverable. No triggering event occurred in the three-month periods ended April&#160;4, 2021 and March&#160;29, 2020 that would indicate a potential impairment of long-lived assets. However, the Company continues to monitor global economic conditions, as events or changes in circumstances could result in an impairment of long-lived assets in a future period.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RleHRyZWdpb246MmI3ZDNhM2NhNWVjNGZmZjk2OTdkMDc3YjViMTFhNjdfNDY0MA_eeb0fd0e-d421-483a-a63e-7477a9f88052">&lt;div style="margin-top:6pt;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 summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of April&#160;4, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.998%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.712%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.712%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.714%"/&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:9pt;font-weight:700;line-height:100%"&gt;Quoted&#160;Prices&#160;in&lt;br/&gt;Active Markets&lt;br/&gt;for Identical&lt;br/&gt;Assets (Level 1)&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;Significant Other&lt;br/&gt;Observable&lt;br/&gt;Inputs (Level 2)&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;Unobservable Inputs (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;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market instruments&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;25,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="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;&#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 19pt;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;&#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;384,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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 19pt;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;Treasury bills&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;131,409&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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 19pt;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;&#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;79,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency 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;18,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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 19pt;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;Sovereign 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;&#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;12,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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 19pt;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;Commercial paper&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;10,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'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;&#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;7,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Economic hedge forward contracts&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;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Economic hedge forward contracts&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;124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="iccf2d9e868dc44dcb733e18d82156290_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RhYmxlOjRlOTA3YWQxZmRjODRjMjA5Mzk1NmIyNmNhNWM4OTFhL3RhYmxlcmFuZ2U6NGU5MDdhZDFmZGM4NGMyMDkzOTU2YjI2Y2E1Yzg5MWFfMi0xLTEtMS0w_d8859963-52ba-401a-8d2a-4bc56a143703"
      unitRef="usd">25375000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="idce4bcf2694447309ee04214411cfde3_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RhYmxlOjRlOTA3YWQxZmRjODRjMjA5Mzk1NmIyNmNhNWM4OTFhL3RhYmxlcmFuZ2U6NGU5MDdhZDFmZGM4NGMyMDkzOTU2YjI2Y2E1Yzg5MWFfMi0zLTEtMS0w_bf8c5043-c4cb-47e9-8c4e-1f69ec89eaa1"
      unitRef="usd">0</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i7ca334aee951464b9bd525fe97d7e4ef_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RhYmxlOjRlOTA3YWQxZmRjODRjMjA5Mzk1NmIyNmNhNWM4OTFhL3RhYmxlcmFuZ2U6NGU5MDdhZDFmZGM4NGMyMDkzOTU2YjI2Y2E1Yzg5MWFfMy0zLTEtMS0w_4ccbf5a0-b0de-44d5-be55-16f17f103b49"
      unitRef="usd">384761000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i475f5aaa41264c6dba76604c75bc9b78_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RhYmxlOjRlOTA3YWQxZmRjODRjMjA5Mzk1NmIyNmNhNWM4OTFhL3RhYmxlcmFuZ2U6NGU5MDdhZDFmZGM4NGMyMDkzOTU2YjI2Y2E1Yzg5MWFfNC0zLTEtMS0yNjU2_2afd48a3-a5e4-4516-8574-33c985630eb2"
      unitRef="usd">131409000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ibec4448f615444de803932e825af6d11_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RhYmxlOjRlOTA3YWQxZmRjODRjMjA5Mzk1NmIyNmNhNWM4OTFhL3RhYmxlcmFuZ2U6NGU5MDdhZDFmZGM4NGMyMDkzOTU2YjI2Y2E1Yzg5MWFfNS0zLTEtMS0w_5e8ec0c2-ae1e-4835-894e-3c6f0336e909"
      unitRef="usd">79400000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ibd67864c6e1742b8a9858e070c5a8a21_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RhYmxlOjRlOTA3YWQxZmRjODRjMjA5Mzk1NmIyNmNhNWM4OTFhL3RhYmxlcmFuZ2U6NGU5MDdhZDFmZGM4NGMyMDkzOTU2YjI2Y2E1Yzg5MWFfNy0zLTEtMS0w_8ba8942a-9ab1-47f2-ad80-cddcea2b8f7b"
      unitRef="usd">18961000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i381467b841394c55b5765e72610dccb5_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RhYmxlOjRlOTA3YWQxZmRjODRjMjA5Mzk1NmIyNmNhNWM4OTFhL3RhYmxlcmFuZ2U6NGU5MDdhZDFmZGM4NGMyMDkzOTU2YjI2Y2E1Yzg5MWFfOC0zLTEtMS0w_3b9fa075-a474-49a1-ab68-e3eafaf5b4a5"
      unitRef="usd">12050000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i9f66d8a12a61424cac89f6969ae885e7_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RhYmxlOjRlOTA3YWQxZmRjODRjMjA5Mzk1NmIyNmNhNWM4OTFhL3RhYmxlcmFuZ2U6NGU5MDdhZDFmZGM4NGMyMDkzOTU2YjI2Y2E1Yzg5MWFfMTAtMy0xLTEtNDU5Nw_6645d989-043c-4ecb-b4c8-f4fc487637aa"
      unitRef="usd">10000000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i17920dc9443a45109a1c21c8375c77a9_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RhYmxlOjRlOTA3YWQxZmRjODRjMjA5Mzk1NmIyNmNhNWM4OTFhL3RhYmxlcmFuZ2U6NGU5MDdhZDFmZGM4NGMyMDkzOTU2YjI2Y2E1Yzg5MWFfOS0zLTEtMS0w_37964ca3-930f-4247-9eb3-4a0f12cb7eb2"
      unitRef="usd">7015000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure
      contextRef="idce4bcf2694447309ee04214411cfde3_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RhYmxlOjRlOTA3YWQxZmRjODRjMjA5Mzk1NmIyNmNhNWM4OTFhL3RhYmxlcmFuZ2U6NGU5MDdhZDFmZGM4NGMyMDkzOTU2YjI2Y2E1Yzg5MWFfMTMtMy0xLTEtMA_65f33418-d9b8-447e-b2c2-b74a30e422d4"
      unitRef="usd">8000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure
      contextRef="idce4bcf2694447309ee04214411cfde3_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RhYmxlOjRlOTA3YWQxZmRjODRjMjA5Mzk1NmIyNmNhNWM4OTFhL3RhYmxlcmFuZ2U6NGU5MDdhZDFmZGM4NGMyMDkzOTU2YjI2Y2E1Yzg5MWFfMTYtMy0xLTEtMA_ddac5e45-adbc-481a-ae9a-93e9bad46e75"
      unitRef="usd">124000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i787be2f36060440599736e048c4cc622_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RleHRyZWdpb246MmI3ZDNhM2NhNWVjNGZmZjk2OTdkMDc3YjViMTFhNjdfMzEwMQ_c74c75db-a798-41f2-a957-10789cef93a6"
      unitRef="usd">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RleHRyZWdpb246MmI3ZDNhM2NhNWVjNGZmZjk2OTdkMDc3YjViMTFhNjdfMzIzMw_5ed43df1-24ea-4054-9a28-b0e7e2cb69e0"
      unitRef="usd">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow
      contextRef="ice9b857904c64cc6ac1b0d6d55d36526_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RleHRyZWdpb246MmI3ZDNhM2NhNWVjNGZmZjk2OTdkMDc3YjViMTFhNjdfMzM1Mg_dcf3aa08-6391-4e0b-831f-124131daf6d6"
      unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh
      contextRef="ice9b857904c64cc6ac1b0d6d55d36526_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF80Ni9mcmFnOjJiN2QzYTNjYTVlYzRmZmY5Njk3ZDA3N2I1YjExYTY3L3RleHRyZWdpb246MmI3ZDNhM2NhNWVjNGZmZjk2OTdkMDc3YjViMTFhNjdfMzM1OA_c3c612a4-e00f-4f59-9188-dc8a87499f05"
      unitRef="usd">2500000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
    <us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMzU5NA_5a873f2b-bbe8-490f-9abb-654370b05df1">Cash, Cash Equivalents, and Investments&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash, cash equivalents, and investments consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.028%"/&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:17.031%"/&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:9pt;font-weight:700;line-height:100%"&gt;April 4, 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:9pt;font-weight:400;line-height:100%"&gt;December 31, 2020&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&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:700;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:700;line-height:100%"&gt;207,313&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;266,609&#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;Commercial paper&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:700;line-height:100%"&gt;10,000&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;Money market instruments&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:700;line-height:100%"&gt;25,375&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,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 19pt;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 and cash equivalents&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:700;line-height:100%"&gt;242,688&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269,073&#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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury bills&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:700;line-height:100%"&gt;66,261&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,403&#160;&lt;/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;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:700;line-height:100%"&gt;50,410&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,714&#160;&lt;/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;/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;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:700;line-height:100%"&gt;16,645&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,160&#160;&lt;/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;Sovereign 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:700;line-height:100%"&gt;8,621&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,660&#160;&lt;/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;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:700;line-height:100%"&gt;1,296&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,303&#160;&lt;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Current investments&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:700;line-height:100%"&gt;143,233&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;103,240&#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: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;border-top:3pt double #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:700;line-height:100%"&gt;334,351&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #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;203,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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;Treasury bills&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:700;line-height:100%"&gt;65,148&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,458&#160;&lt;/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;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:700;line-height:100%"&gt;62,755&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,058&#160;&lt;/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;Agency 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:700;line-height:100%"&gt;18,961&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,006&#160;&lt;/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;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:700;line-height:100%"&gt;5,719&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,735&#160;&lt;/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;Sovereign 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:700;line-height:100%"&gt;3,429&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;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;Non-current investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;490,363&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;395,125&#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:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top: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:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top: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:700;line-height:100%"&gt;876,284&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top: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;border-top: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;767,438&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top: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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash equivalents are highly liquid investments with insignificant interest rate risk and maturities of ninety days or less at the time of acquisition. Cash equivalents consist primarily of government and institutional money market funds as well as corporate obligations such as commercial paper; treasury bills consist of debt securities issued by the U.S. government; corporate bonds consist of debt securities issued by both domestic and foreign companies; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; sovereign bonds consist of direct debt issued by foreign governments; municipal bonds consist of debt securities issued by state and local government entities; and agency bonds consist of domestic or foreign obligations of government agencies and government-sponsored enterprises that have government backing. All of the Company's securities as of April&#160;4, 2021 and December&#160;31, 2020 were denominated in U.S. Dollars.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued interest receivable is recorded in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $2,467,000 and $1,560,000 as of April&#160;4, 2021 and December&#160;31, 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 summarizes the Company&#x2019;s available-for-sale investments as of April&#160;4, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.741%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.243%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.392%"/&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:9pt;font-weight:700;line-height:100%"&gt;Amortized&lt;br/&gt;Cost&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;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gains&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;Gross&lt;br/&gt;Unrealized&lt;br/&gt;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:9pt;font-weight:700;line-height:100%"&gt;Fair&#160;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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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 19pt;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;Treasury bills&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;65,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;66,261&#160;&lt;/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: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;50,164&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'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;16,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,645&#160;&lt;/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 2px 19pt;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;Sovereign 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;8,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;8,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'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,296&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,296&#160;&lt;/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;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;Non-current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align: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;333,094&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,962&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(705)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;334,351&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury bills&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;64,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;642&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;65,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'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;62,368&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,755&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency 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;18,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;18,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'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;5,714&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,719&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sovereign 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;3,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-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:700;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:700;line-height:100%"&gt;630,447&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;3,894&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;(745)&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:700;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:700;line-height:100%"&gt;633,596&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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="margin-top:1pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 summarizes the Company&#x2019;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of April&#160;4, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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:30.711%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.651%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.651%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.651%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.651%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.651%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.654%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="21" 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;Unrealized Loss Position For:&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: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;&#160;&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:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Less than 12 Months&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:9pt;font-weight:700;line-height:100%"&gt;12 Months or Greater&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:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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:9pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized&lt;br/&gt;Losses&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:9pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized&lt;br/&gt;Losses&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:9pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized&lt;br/&gt;Losses&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;Corporate bonds&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;176,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;(720)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;&#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 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 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;176,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;(720)&lt;/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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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;5,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;5,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/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;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;4,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;4,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/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;td colspan="3" style="display:none"/&gt;&lt;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;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;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;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-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:700;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:700;line-height:100%"&gt;186,563&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;(745)&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:700;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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;186,563&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;(745)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.341%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.459%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;/tr&gt;&lt;tr style="height:3pt"&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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;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 allowance for credit losses on debt securities was zero as of April&#160;4, 2021 and December&#160;31, 2020. There was no activity recorded in the allowance for credit losses during the three-month period ended April&#160;4, 2021. The Company recorded credit losses on debt securities totaling $160,000 during the three-month period ended March&#160;29, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;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 no gross realized gains or gross realized losses on the sale of debt securities for the three-month period ended April&#160;4, 2021. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $1,865,000 and $15,000, respectively, for the three-month period ended March&#160;29, 2020. These gains and losses are included in "Investment income" on the Consolidated Statements of Operations. Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders&#x2019; equity as accumulated other comprehensive loss.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 effective maturity dates of the Company&#x2019;s available-for-sale investments as of April&#160;4, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.888%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.695%"/&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.695%"/&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.695%"/&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.695%"/&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.695%"/&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: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:9.287%"/&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:9pt;font-weight:700;line-height:100%"&gt;&amp;lt;1 year&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;1-2 Years&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;2-3 Years&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;3-4 Years&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;4-5 Years&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: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;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 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;50,410&#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;130,867&#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,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;58,992&#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;1,062&#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="display:none"/&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;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;384,761&#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;Treasury bills&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;66,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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="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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,409&#160;&lt;/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;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;16,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,114&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;482&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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="display:none"/&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;79,400&#160;&lt;/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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency 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;2,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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="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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,961&#160;&lt;/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;Sovereign 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;8,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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="display:none"/&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;12,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;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,296&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,068&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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="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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,015&#160;&lt;/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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;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: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:700;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:700;line-height:100%"&gt;143,233&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;244,884&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;184,943&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;59,474&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;1,062&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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="display:none"/&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;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:700;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:700;line-height:100%"&gt;633,596&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock>
    <cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMzU5NQ_4ee5391b-65b1-4407-9d98-dd8056c461ed">&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash, cash equivalents, and investments consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.028%"/&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:17.031%"/&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:9pt;font-weight:700;line-height:100%"&gt;April 4, 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:9pt;font-weight:400;line-height:100%"&gt;December 31, 2020&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&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:700;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:700;line-height:100%"&gt;207,313&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;266,609&#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;Commercial paper&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:700;line-height:100%"&gt;10,000&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;Money market instruments&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:700;line-height:100%"&gt;25,375&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,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 19pt;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 and cash equivalents&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:700;line-height:100%"&gt;242,688&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269,073&#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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury bills&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:700;line-height:100%"&gt;66,261&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,403&#160;&lt;/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;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:700;line-height:100%"&gt;50,410&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,714&#160;&lt;/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;/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;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:700;line-height:100%"&gt;16,645&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,160&#160;&lt;/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;Sovereign 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:700;line-height:100%"&gt;8,621&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,660&#160;&lt;/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;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:700;line-height:100%"&gt;1,296&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,303&#160;&lt;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Current investments&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:700;line-height:100%"&gt;143,233&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;103,240&#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: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;border-top:3pt double #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:700;line-height:100%"&gt;334,351&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #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;203,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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;Treasury bills&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:700;line-height:100%"&gt;65,148&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,458&#160;&lt;/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;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:700;line-height:100%"&gt;62,755&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,058&#160;&lt;/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;Agency 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:700;line-height:100%"&gt;18,961&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,006&#160;&lt;/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;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:700;line-height:100%"&gt;5,719&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,735&#160;&lt;/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;Sovereign 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:700;line-height:100%"&gt;3,429&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;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;Non-current investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;490,363&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;395,125&#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:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top: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:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top: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:700;line-height:100%"&gt;876,284&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top: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;border-top: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;767,438&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock>
    <us-gaap:Cash
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMS0xLTEtMS0w_e22255cc-40b2-4012-a2e7-5e5a64301a9f"
      unitRef="usd">207313000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMS0zLTEtMS0w_de4a867c-99a4-4abd-9287-37ce695c6204"
      unitRef="usd">266609000</us-gaap:Cash>
    <us-gaap:CommercialPaperAtCarryingValue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMi0xLTEtMS00Mzg0_ab629d4b-90a1-4907-898f-f5b10f704f08"
      unitRef="usd">10000000</us-gaap:CommercialPaperAtCarryingValue>
    <us-gaap:CommercialPaperAtCarryingValue
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMi0zLTEtMS00Mzg2_71e48e16-4b6a-4d75-857a-e4a0e62c8dd8"
      unitRef="usd">0</us-gaap:CommercialPaperAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMy0xLTEtMS0w_94bccf82-9d69-4c37-a40e-06d2e25cb731"
      unitRef="usd">25375000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMy0zLTEtMS0w_7389ce6a-f0dc-40df-9540-6662f98f5656"
      unitRef="usd">2464000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfNC0xLTEtMS0w_98f6b9e0-97e8-4f78-b1e3-5907a79ea08a"
      unitRef="usd">242688000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfNC0zLTEtMS0w_6699d264-bef7-4876-b542-33b0372d13e8"
      unitRef="usd">269073000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="ie245bc1af2f44354ac59a82bfb20588d_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfNS0xLTEtMS0w_0edcd95b-79f2-42d0-8293-b6fd83f93ae9"
      unitRef="usd">66261000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i91d7f7f1decd43bb82712777388f7b1d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfNS0zLTEtMS0w_b3069573-6b78-4274-9057-3824bc430b01"
      unitRef="usd">35403000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfNi0xLTEtMS0yNjY5_6cb04525-c4b5-4d6d-a6e0-f0ac6236d657"
      unitRef="usd">50410000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i7cc3e0c8aeb4484981a8bb2e0d41e780_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfNi0zLTEtMS0yNjY5_9c8fc56c-ad68-4592-a447-b4d2187bf2bd"
      unitRef="usd">32714000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfNy0xLTEtMS0w_1f4517b5-150a-40d2-bffd-2e3de3332799"
      unitRef="usd">16645000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="idb30172777f74fa59c775859c04d1408_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfNy0zLTEtMS0w_7cc9f800-65c9-4fd7-808b-810053062638"
      unitRef="usd">25160000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="ia24bdd24ef6746019e05731f41ad8b6e_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfOC0xLTEtMS0w_75ee441a-62cf-4a64-a3e2-eb8f93a1498f"
      unitRef="usd">8621000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i9eab9c09052e4407bc9b22994d66fa2f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfOC0zLTEtMS0w_6326674d-b10f-41d7-ba09-7ad936712a14"
      unitRef="usd">8660000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfOS0xLTEtMS0w_15b4d734-ae74-44aa-9626-eed59a2523fc"
      unitRef="usd">1296000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i3f8aac385f024d63a743a3ec76b84d14_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfOS0zLTEtMS0w_988fdfce-7998-40da-8d3b-aeb8066b05bb"
      unitRef="usd">1303000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTQtMS0xLTEtMA_99896e19-ba5f-45d1-ad7e-0535c072d152"
      unitRef="usd">143233000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTQtMy0xLTEtMA_2d5f5e85-dc2b-43a3-9ec7-8c9529470296"
      unitRef="usd">103240000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTYtMS0xLTEtMA_573f937f-f814-4331-8741-e5795bb9a8a2"
      unitRef="usd">334351000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i7cc3e0c8aeb4484981a8bb2e0d41e780_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTYtMy0xLTEtMA_17a95764-dcf2-45eb-9aed-e56172cfd357"
      unitRef="usd">203428000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="ie245bc1af2f44354ac59a82bfb20588d_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTctMS0xLTEtMjY4OQ_8c59e01c-ea43-4e31-ae2d-cd4db05ec749"
      unitRef="usd">65148000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i91d7f7f1decd43bb82712777388f7b1d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTctMy0xLTEtMjY4OQ_20342c82-1907-461a-b1a5-49464b294c0e"
      unitRef="usd">96458000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTctMS0xLTEtMA_9fbea274-6bc1-4439-ad52-ad664bccbc4f"
      unitRef="usd">62755000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="idb30172777f74fa59c775859c04d1408_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTctMy0xLTEtMA_960d3273-76b2-4c2a-9672-7fddd2bb54d6"
      unitRef="usd">67058000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="ide61981f36574eb5a8e2d49982257298_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTgtMS0xLTEtMA_e3c78fe0-0779-4f55-9ab7-1554c0d69acd"
      unitRef="usd">18961000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="ifea2503637cf4cad833d8423cf4367aa_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTgtMy0xLTEtMA_653eb256-e1b5-4bd4-aa0b-6b0c27d39aeb"
      unitRef="usd">19006000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTktMS0xLTEtMjY4MQ_fd6d6b48-5f03-45a7-8fb3-88491d39402c"
      unitRef="usd">5719000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i3f8aac385f024d63a743a3ec76b84d14_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTktMy0xLTEtMjY4MQ_fa9454c9-ec76-4446-b89b-f9ac2b368ebf"
      unitRef="usd">5735000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="ia24bdd24ef6746019e05731f41ad8b6e_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTktMS0xLTEtMA_8eb1b08f-6c29-43e2-bb91-ffe5c3a0ce1c"
      unitRef="usd">3429000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i9eab9c09052e4407bc9b22994d66fa2f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMTktMy0xLTEtMA_b7e20275-3b1b-4bf1-bc5f-ca962221f4d5"
      unitRef="usd">3440000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:LongTermInvestments
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMjMtMS0xLTEtMA_d4b83fdf-27b4-428d-b7d7-2a48f32ed02b"
      unitRef="usd">490363000</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMjMtMy0xLTEtMA_2031f382-01b4-4115-b692-7f10abe92306"
      unitRef="usd">395125000</us-gaap:LongTermInvestments>
    <cgnx:CashCashEquivalentsShortTermAndLongTermInvestments
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMjQtMS0xLTEtMA_f70bd685-ef40-4593-9bc6-0bbc5a6f957a"
      unitRef="usd">876284000</cgnx:CashCashEquivalentsShortTermAndLongTermInvestments>
    <cgnx:CashCashEquivalentsShortTermAndLongTermInvestments
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjg2YWMyZDNjMGZkMzRjZTRhNjE2ZjQyMzM2M2MwYzY1L3RhYmxlcmFuZ2U6ODZhYzJkM2MwZmQzNGNlNGE2MTZmNDIzMzYzYzBjNjVfMjQtMy0xLTEtMA_a559479c-e86c-4235-af41-a055fd41aa1c"
      unitRef="usd">767438000</cgnx:CashCashEquivalentsShortTermAndLongTermInvestments>
    <us-gaap:InterestReceivable
      contextRef="i63d435323d05465c8b6a4b79c3a62415_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMTEzOQ_82717f85-26cc-428d-960e-c3a7f9f7274b"
      unitRef="usd">2467000</us-gaap:InterestReceivable>
    <us-gaap:InterestReceivable
      contextRef="i3ebef97345fc4b07931f76d262640f7c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMTE0Ng_b6e47541-7822-4553-8921-2433b40896cc"
      unitRef="usd">1560000</us-gaap:InterestReceivable>
    <us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMzYwNg_f5e585ed-3407-4545-90f5-870bc2faf3ec">&lt;div style="margin-top:6pt;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 summarizes the Company&#x2019;s available-for-sale investments as of April&#160;4, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.741%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.243%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.392%"/&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:9pt;font-weight:700;line-height:100%"&gt;Amortized&lt;br/&gt;Cost&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;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gains&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;Gross&lt;br/&gt;Unrealized&lt;br/&gt;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:9pt;font-weight:700;line-height:100%"&gt;Fair&#160;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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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 19pt;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;Treasury bills&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;65,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;66,261&#160;&lt;/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: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;50,164&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'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;16,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,645&#160;&lt;/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 2px 19pt;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;Sovereign 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;8,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;8,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'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,296&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,296&#160;&lt;/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;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;Non-current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align: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;333,094&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,962&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(705)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;334,351&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury bills&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;64,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;642&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;65,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'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;62,368&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,755&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency 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;18,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;18,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'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;5,714&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,719&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sovereign 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;3,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-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:700;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:700;line-height:100%"&gt;630,447&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;3,894&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;(745)&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:700;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:700;line-height:100%"&gt;633,596&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;</us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i63b9b6f0ca6d4b03955da6e9599cf36e_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMi0xLTEtMS0yNjk5_24de60b0-2cf0-426b-8882-518e65f9b63d"
      unitRef="usd">65830000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i63b9b6f0ca6d4b03955da6e9599cf36e_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMi0zLTEtMS0yNjk5_460a606a-f8fe-4036-85f0-5e037eb45ade"
      unitRef="usd">431000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i63b9b6f0ca6d4b03955da6e9599cf36e_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMi01LTEtMS0yNjk5_beef0c75-2af2-435e-8d9a-644206152420"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i63b9b6f0ca6d4b03955da6e9599cf36e_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMi03LTEtMS0yNjk5_778f29c3-2546-422f-83bb-e02abafdf89e"
      unitRef="usd">66261000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i938eb100ba5a4fd4ab8ff23fbe7ae7ce_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMi0xLTEtMS0w_ba9f7e76-1c45-469f-840c-6552973f59e9"
      unitRef="usd">50164000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i938eb100ba5a4fd4ab8ff23fbe7ae7ce_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMi0zLTEtMS0w_06a2ed32-e2ae-4122-b284-17809eb78d8f"
      unitRef="usd">261000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i938eb100ba5a4fd4ab8ff23fbe7ae7ce_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMi01LTEtMS0w_5cd47fec-65f4-4b1b-8d5c-76d215b0a2d0"
      unitRef="usd">15000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i938eb100ba5a4fd4ab8ff23fbe7ae7ce_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMi03LTEtMS0w_eb6e4a0c-a345-47c9-9b8c-d6750e53e092"
      unitRef="usd">50410000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ie3bd90125f7142a4a6b8c1f85dd54b65_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMy0xLTEtMS0w_c87ea82b-687d-42d4-8552-314fafc7e63c"
      unitRef="usd">16587000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ie3bd90125f7142a4a6b8c1f85dd54b65_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMy0zLTEtMS0w_8e394740-5c43-4d65-b876-1249d1a6e293"
      unitRef="usd">64000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ie3bd90125f7142a4a6b8c1f85dd54b65_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMy01LTEtMS0w_1b5a2661-a337-4794-8bf3-ba120a1a989c"
      unitRef="usd">6000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie3bd90125f7142a4a6b8c1f85dd54b65_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMy03LTEtMS0w_15b1dacc-4f44-496c-a0c3-9089bb58851d"
      unitRef="usd">16645000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ifdd0c416e74c4f6c9cf615db66e70ce6_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfOC0xLTEtMS0w_96eebdba-f627-49c0-9a08-93453d246068"
      unitRef="usd">8592000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ifdd0c416e74c4f6c9cf615db66e70ce6_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfOC0zLTEtMS0w_4abf08e2-9167-497a-9000-71d96e8f3df7"
      unitRef="usd">29000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ifdd0c416e74c4f6c9cf615db66e70ce6_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfOC01LTEtMS0w_388ec685-32ce-4f33-898d-96856433a72e"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ifdd0c416e74c4f6c9cf615db66e70ce6_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfOC03LTEtMS0w_1255b883-9bee-49b7-bb70-21c7114135aa"
      unitRef="usd">8621000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i2ffecc92d29e4531874d04d52b657f87_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfOS0xLTEtMS0w_82a48a4e-9334-412b-8de0-3cde017e7a19"
      unitRef="usd">1296000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i2ffecc92d29e4531874d04d52b657f87_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfOS0zLTEtMS0w_6cfacee7-4848-46f5-825b-a73ef38b351b"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i2ffecc92d29e4531874d04d52b657f87_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfOS01LTEtMS0w_28e949e7-a6c1-45b7-bd6d-bb40bee3fd9c"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2ffecc92d29e4531874d04d52b657f87_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfOS03LTEtMS0w_dd606144-a90e-4399-b219-5b0c667f9a4f"
      unitRef="usd">1296000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="if2c858735ff041999b764a76847767c4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTEtMS0xLTEtMjcxMQ_ecc10622-7934-4345-a806-395ae59cc94f"
      unitRef="usd">333094000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="if2c858735ff041999b764a76847767c4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTEtMy0xLTEtMjcxMQ_20b645ec-9950-42ff-8057-940f1d0b8cca"
      unitRef="usd">1962000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="if2c858735ff041999b764a76847767c4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTEtNS0xLTEtMjcxMQ_45f3407a-8df8-4358-9b9d-39a094f78de0"
      unitRef="usd">705000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if2c858735ff041999b764a76847767c4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTEtNy0xLTEtMjcxMQ_44413ece-ba51-4782-8fb8-668953c00d45"
      unitRef="usd">334351000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="icbe3ff868bb1460a9c40b0e61190b802_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTItMS0xLTEtMA_b5db6377-5c94-4d13-979d-877c4bc0fe7c"
      unitRef="usd">64506000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="icbe3ff868bb1460a9c40b0e61190b802_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTItMy0xLTEtMA_29d1d700-3e4d-4502-8b70-c00dc391c2c3"
      unitRef="usd">642000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="icbe3ff868bb1460a9c40b0e61190b802_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTItNS0xLTEtMA_8f40997c-37dd-45c4-a7bf-e332487fbb08"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="icbe3ff868bb1460a9c40b0e61190b802_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTItNy0xLTEtMA_730f03f7-0de6-47e9-94d4-240fd5944140"
      unitRef="usd">65148000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="iad38bb42ba0e4e9087929fbfc17d67ee_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTQtMS0xLTEtMA_7ebcdc85-4a6d-420a-88a1-78e00f655297"
      unitRef="usd">62368000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="iad38bb42ba0e4e9087929fbfc17d67ee_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTQtMy0xLTEtMA_cb96889b-9c6b-4b01-b3b8-31fdd7636a5d"
      unitRef="usd">393000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="iad38bb42ba0e4e9087929fbfc17d67ee_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTQtNS0xLTEtMA_011d745d-509b-407f-9604-3b708bb9f318"
      unitRef="usd">6000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="iad38bb42ba0e4e9087929fbfc17d67ee_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTQtNy0xLTEtMA_4b0a6a70-b3cd-4925-93dc-5037e5d7be2a"
      unitRef="usd">62755000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i5a220cf3af62460fa61591c0473aed2d_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTUtMS0xLTEtMA_a5569130-01ff-4980-b092-df7d48d0190b"
      unitRef="usd">18917000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i5a220cf3af62460fa61591c0473aed2d_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTUtMy0xLTEtMA_1b43d01d-8455-494b-8df8-c153dec072f5"
      unitRef="usd">44000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i5a220cf3af62460fa61591c0473aed2d_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTUtNS0xLTEtMA_6b7a8006-ab27-4fd3-9d7d-7dd0eea0aca8"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i5a220cf3af62460fa61591c0473aed2d_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTUtNy0xLTEtMA_89876cf0-f9cd-47fa-a4b7-b10413a4f766"
      unitRef="usd">18961000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i8051dbd30ad0492ea822434d151f2b9a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTUtMS0xLTEtMjcxOQ_f167caf8-2b25-4a9b-9c2f-970d409b7e60"
      unitRef="usd">5714000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i8051dbd30ad0492ea822434d151f2b9a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTUtMy0xLTEtMjcxOQ_3213bf77-6bc1-4ad8-99f1-166e41f3cd2b"
      unitRef="usd">18000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i8051dbd30ad0492ea822434d151f2b9a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTUtNS0xLTEtMjcxOQ_62e18710-3be6-4ea6-a81e-11e2f828f4c8"
      unitRef="usd">13000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i8051dbd30ad0492ea822434d151f2b9a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTUtNy0xLTEtMjcxOQ_08b9491d-b805-4c51-a36e-06b9e5277bea"
      unitRef="usd">5719000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i8e98cb847963445ba23851bfcebceca6_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTYtMS0xLTEtMA_cc9c2bfe-8935-48d1-9c77-726837830a48"
      unitRef="usd">3379000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i8e98cb847963445ba23851bfcebceca6_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTYtMy0xLTEtMA_b6c9fcf6-8f5b-4706-b1ec-c70184e21f8a"
      unitRef="usd">50000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i8e98cb847963445ba23851bfcebceca6_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTYtNS0xLTEtMA_79578bdb-470e-468c-af5e-d2992942daaa"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i8e98cb847963445ba23851bfcebceca6_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTYtNy0xLTEtMA_0c84e2cc-f81b-416a-bcd6-b624dc3cbca1"
      unitRef="usd">3429000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTgtMS0xLTEtMA_c43825cc-0073-4539-a652-0e5cdde24078"
      unitRef="usd">630447000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTgtMy0xLTEtMA_1befd200-2f41-4b02-99a2-b777944ef39b"
      unitRef="usd">3894000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTgtNS0xLTEtMA_ed3555c9-b66f-4921-84ce-94a9c8a7da7f"
      unitRef="usd">745000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOmVkNDFmZTYyZTFhMjRhNTViMzNkN2ViZDAwZTJhMDE4L3RhYmxlcmFuZ2U6ZWQ0MWZlNjJlMWEyNGE1NWIzM2Q3ZWJkMDBlMmEwMThfMTgtNy0xLTEtMA_58acdfc3-d440-4747-ae77-da3faf75c7f4"
      unitRef="usd">633596000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMzU5Mw_3703d55f-9544-46e1-a536-ee975eadd016">&lt;div style="margin-top:6pt;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 summarizes the Company&#x2019;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of April&#160;4, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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:30.711%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.651%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.651%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.651%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.651%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.651%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.654%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="21" 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;Unrealized Loss Position For:&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: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;&#160;&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:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Less than 12 Months&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:9pt;font-weight:700;line-height:100%"&gt;12 Months or Greater&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:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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:9pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized&lt;br/&gt;Losses&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:9pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized&lt;br/&gt;Losses&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:9pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized&lt;br/&gt;Losses&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;Corporate bonds&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;176,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;(720)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;&#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 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 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;176,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;(720)&lt;/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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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;5,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;5,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/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;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;4,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;4,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/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;td colspan="3" style="display:none"/&gt;&lt;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;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;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;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-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:700;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:700;line-height:100%"&gt;186,563&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;(745)&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:700;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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;186,563&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;(745)&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:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfMy0xLTEtMS0w_e13cd628-7b61-443a-875c-102226947a3b"
      unitRef="usd">176773000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfMy0zLTEtMS0w_4a668dfc-157d-48e5-b94b-eeae0c910fd7"
      unitRef="usd">720000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfMy01LTEtMS0w_9a0d5fa8-9b3b-4bc8-8230-d89240cb61c5"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfMy03LTEtMS0w_db3a0f15-a68e-4043-a8a9-120a6c5944b9"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfMy05LTEtMS0w_534c4bb8-42ec-47f7-8e97-efafc649c1da"
      unitRef="usd">176773000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfMy0xMS0xLTEtMA_78619a28-dcac-4f0f-ba19-da4f5a96b9f7"
      unitRef="usd">720000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfNS0xLTEtMS0yNzMy_0596e8e4-8015-4097-b067-7cd5e2c5076a"
      unitRef="usd">5257000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfNS0zLTEtMS0yNzMy_457aca88-90f8-4152-8537-90e11406b66d"
      unitRef="usd">13000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfNS01LTEtMS0yNzMy_87debfb7-154b-4e6c-8360-430832996e11"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfNS03LTEtMS0yNzMy_ac81887c-acb2-4df1-a91e-196d638f29ba"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfNS05LTEtMS0yNzMy_82bedd1c-90e9-4b11-86af-0cf7bcbea28e"
      unitRef="usd">5257000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfNS0xMS0xLTEtMjczMg_07eab7a2-d3ae-4e65-820d-da0ff89e6011"
      unitRef="usd">13000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfNS0xLTEtMS0w_36be69df-449c-4533-a7f8-2477cee60a1a"
      unitRef="usd">4533000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfNS0zLTEtMS0w_45d02368-ec85-4351-8605-28d7034439c1"
      unitRef="usd">12000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfNS01LTEtMS0w_e86d5f18-6afc-418e-84a9-61e15358365f"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfNS03LTEtMS0w_87d025cc-cb1a-4cba-a499-fd9d1ee8f896"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfNS05LTEtMS0w_b30ed1d7-0693-462c-868d-7f3afa816f7f"
      unitRef="usd">4533000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfNS0xMS0xLTEtMA_b42f0813-d77d-4343-9264-9ffbcd33c020"
      unitRef="usd">12000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfMTEtMS0xLTEtMA_a515a100-ee4f-4876-8944-fd2f93430870"
      unitRef="usd">186563000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfMTEtMy0xLTEtMA_bcebf166-b787-420d-9be4-87102b81cba9"
      unitRef="usd">745000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfMTEtNS0xLTEtMA_fbffea96-a57c-4581-8a77-19a943d1b989"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfMTEtNy0xLTEtMA_55bbbf10-f7de-4139-8959-1e14a4099560"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfMTEtOS0xLTEtMA_28e37e29-22e3-4bd1-8e9b-a4a1bc50ac3d"
      unitRef="usd">186563000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjNmM2Q5NThlNWNlZjQyYWFhNDE0MWY5OTExOTVkOGVkL3RhYmxlcmFuZ2U6M2YzZDk1OGU1Y2VmNDJhYWE0MTQxZjk5MTE5NWQ4ZWRfMTEtMTEtMS0xLTA_d74ab2aa-56f4-40f3-93f4-7403e00200b4"
      unitRef="usd">745000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMTA5OTUxMTYzNTcwOQ_34c7f21d-9092-4a3e-a043-7dba55311217"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMTA5OTUxMTYzNTcwOQ_6f7951c4-8796-4ea1-bdbd-2c9863cc93da"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMTA5OTUxMTYzNTczMw_cd825d3f-cd81-4c93-b1bc-e73f5001f5a5"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMTA5OTUxMTYzNTcyMQ_348154cb-db56-40b5-8f3a-74c27a261608"
      unitRef="usd">160000</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease>
    <us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMTA5OTUxMTYzMzkxMA_8ffde3c3-ee85-4714-a0ad-438b2ab9db0d"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
    <us-gaap:AvailableForSaleSecuritiesGrossRealizedGains
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMjgxMw_e74c71bb-43f1-4e0b-bf3d-33a3ffde396a"
      unitRef="usd">1865000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
    <us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMjgyMA_aca2b0f6-d70b-46ba-9993-812bcac814d2"
      unitRef="usd">15000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
    <us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RleHRyZWdpb246Y2RhZWIwYzZhZWMyNDEzN2JiZTYzYzllNDkwNTUzOGNfMzU5Nw_5e8f68c0-27d2-4a71-8b6d-4cab9a1e3b7c">&lt;div style="margin-top:6pt;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 effective maturity dates of the Company&#x2019;s available-for-sale investments as of April&#160;4, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.888%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.695%"/&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.695%"/&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.695%"/&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.695%"/&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.695%"/&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: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:9.287%"/&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:9pt;font-weight:700;line-height:100%"&gt;&amp;lt;1 year&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;1-2 Years&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;2-3 Years&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;3-4 Years&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;4-5 Years&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: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;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 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;50,410&#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;130,867&#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,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;58,992&#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;1,062&#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="display:none"/&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;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;384,761&#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;Treasury bills&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;66,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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="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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,409&#160;&lt;/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;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;16,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,114&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;482&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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="display:none"/&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;79,400&#160;&lt;/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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency 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;2,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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="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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,961&#160;&lt;/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;Sovereign 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;8,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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="display:none"/&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;12,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;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,296&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,068&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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="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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,015&#160;&lt;/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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;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: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:700;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:700;line-height:100%"&gt;143,233&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;244,884&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;184,943&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;59,474&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;1,062&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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="display:none"/&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;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:700;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:700;line-height:100%"&gt;633,596&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMi0xLTEtMS0w_f317e844-a3df-4b2b-8308-44bf7048e554"
      unitRef="usd">50410000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMi0zLTEtMS0w_9b3e739a-2a1f-46f9-a92d-f330c2532af1"
      unitRef="usd">130867000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMi01LTEtMS0w_ce6d3c02-8a81-4d58-9cd7-564723d141a2"
      unitRef="usd">143430000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMi03LTEtMS0w_b6c29873-78b4-46d4-8a97-dfdd8e872020"
      unitRef="usd">58992000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMi05LTEtMS0w_48799db0-4ae8-415f-a2ac-8281a8879460"
      unitRef="usd">1062000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="iba63210cfd534c24b416054a56390fbb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMi0xMy0xLTEtMA_e3c07434-cbd9-442f-966f-20bfadbb1c31"
      unitRef="usd">384761000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="ie245bc1af2f44354ac59a82bfb20588d_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMy0xLTEtMS0yNzQ1_23504ea3-392c-4861-9748-2cda6cb58ae2"
      unitRef="usd">66261000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="ie245bc1af2f44354ac59a82bfb20588d_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMy0zLTEtMS0yNzQ1_658b062e-b734-42fe-8f55-490c44a40a65"
      unitRef="usd">64035000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="ie245bc1af2f44354ac59a82bfb20588d_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMy01LTEtMS0yNzQ1_d605c04c-0b4e-4dff-87f1-d50df794a836"
      unitRef="usd">1113000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="ie245bc1af2f44354ac59a82bfb20588d_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMy03LTEtMS0yNzQ1_e3ee1c7c-f640-454e-95bf-dfcb9538589a"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="ie245bc1af2f44354ac59a82bfb20588d_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMy05LTEtMS0yNzQ1_5cc94a49-7037-43f8-90ce-e872809d0ad8"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie245bc1af2f44354ac59a82bfb20588d_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMy0xMy0xLTEtMjc0NQ_4ad43c9f-f8b8-4009-9db3-6349cf11355e"
      unitRef="usd">131409000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMy0xLTEtMS0w_7735ffbc-e57e-4e53-8e53-0ce127950de3"
      unitRef="usd">16645000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMy0zLTEtMS0w_27de5526-c8e5-4e85-a7b7-e32d2c513078"
      unitRef="usd">42114000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMy01LTEtMS0w_3230e70b-b296-4181-b54d-e1173af275a5"
      unitRef="usd">20159000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMy03LTEtMS0w_0be44e7e-c562-4314-b653-da7d94fe051f"
      unitRef="usd">482000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMy05LTEtMS0w_d7fb42a1-4fce-443d-a832-0fb0233a14bb"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i7e37be09c6e24391a38ea6266273cef2_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMy0xMy0xLTEtMA_bc36c3c0-76c6-4786-ac89-4bf141bb4a47"
      unitRef="usd">79400000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="ide61981f36574eb5a8e2d49982257298_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfNi0xLTEtMS0w_9243dffe-e107-4aec-aa88-1369a8d4cbf2"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="ide61981f36574eb5a8e2d49982257298_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfNi0zLTEtMS0w_3f6abb42-ba14-4d93-9e97-137a9a3c6570"
      unitRef="usd">2800000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="ide61981f36574eb5a8e2d49982257298_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfNi01LTEtMS0w_e517622c-2e51-4f76-bd2f-0a45e4ce3aaf"
      unitRef="usd">16161000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="ide61981f36574eb5a8e2d49982257298_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfNi03LTEtMS0w_84c0ecef-7f1f-4b87-9fd1-977cadd32fbf"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="ide61981f36574eb5a8e2d49982257298_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfNi05LTEtMS0w_9b9b8f2a-7316-47d1-8091-b53d4777da62"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ide61981f36574eb5a8e2d49982257298_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfNi0xMy0xLTEtMA_7ebb21e4-a6f2-4a24-8c34-4b69c4bc1118"
      unitRef="usd">18961000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i38e652d2c2bf484a9156cd465fa9ab99_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfNy0xLTEtMS0w_187f2cee-7c20-472a-a2a5-a78e760747b0"
      unitRef="usd">8621000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="i38e652d2c2bf484a9156cd465fa9ab99_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfNy0zLTEtMS0w_072d974a-56dc-4ae3-8f6a-5ed223c0ad52"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="i38e652d2c2bf484a9156cd465fa9ab99_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfNy01LTEtMS0w_771f736f-1f0f-4b4e-9ae2-34f1403e7b96"
      unitRef="usd">3429000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="i38e652d2c2bf484a9156cd465fa9ab99_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfNy03LTEtMS0w_862df980-7e2a-48da-afdb-a25d9335e895"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="i38e652d2c2bf484a9156cd465fa9ab99_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfNy05LTEtMS0w_f75af222-32dd-46fe-b034-f90ab4f48cf2"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i38e652d2c2bf484a9156cd465fa9ab99_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfNy0xMy0xLTEtMA_a83de294-410f-41aa-b961-43aef1ef5a09"
      unitRef="usd">12050000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfOC0xLTEtMS0w_ee86f3fa-a9ed-4739-a90c-e0bf62eaef8b"
      unitRef="usd">1296000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfOC0zLTEtMS0w_a5543f8b-ccdf-41ab-affe-82cb8444b6c4"
      unitRef="usd">5068000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfOC01LTEtMS0w_0a77825b-4105-4a84-a20e-4b773100f4c9"
      unitRef="usd">651000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfOC03LTEtMS0w_ceb1b362-5865-4df2-b7b1-f5f1e7cd9f4e"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfOC05LTEtMS0w_06d2747e-a059-48fb-9c63-f6bcc09bd447"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i23736634161e462182e24314851cdb6a_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfOC0xMy0xLTEtMA_ab4dbd41-caab-4fb9-a2a7-38935656b092"
      unitRef="usd">7015000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMTEtMS0xLTEtMA_8b9c7487-3d6d-4592-9c34-c4fdddc3e2a0"
      unitRef="usd">143233000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMTEtMy0xLTEtMA_b1f3889d-532f-4ed1-bde1-951452091999"
      unitRef="usd">244884000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMTEtNS0xLTEtMA_50d6e63e-b885-4d4d-b91e-f6b462eac14c"
      unitRef="usd">184943000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMTEtNy0xLTEtMA_58982734-d3ac-43b3-82cd-4f7f3acff3e2"
      unitRef="usd">59474000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMTEtOS0xLTEtMA_d3efc20c-d547-4f3a-a761-584d4a0c4bd5"
      unitRef="usd">1062000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81Mi9mcmFnOmNkYWViMGM2YWVjMjQxMzdiYmU2M2M5ZTQ5MDU1MzhjL3RhYmxlOjgyZTkyOWI5YjYxNjRlYWJiNGFhYjJhZDUzMWFkZmRjL3RhYmxlcmFuZ2U6ODJlOTI5YjliNjE2NGVhYmI0YWFiMmFkNTMxYWRmZGNfMTEtMTMtMS0xLTA_ed62b5a7-74ea-4ad0-8ea3-2371157da32b"
      unitRef="usd">633596000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81NS9mcmFnOmM1OWM5OTU0MGEzNDRlMjVhZmNjYzc1OWIzMzFjMjc5L3RleHRyZWdpb246YzU5Yzk5NTQwYTM0NGUyNWFmY2NjNzU5YjMzMWMyNzlfNDkw_b1a6d679-228b-4671-b401-0efac9bd296a">Inventories&lt;div style="margin-top:6pt"&gt;&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 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.028%"/&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:17.031%"/&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: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;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2020&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:top"&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;/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:700;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:700;line-height:100%"&gt;22,124&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;26,800&#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:top"&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;/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:700;line-height:100%"&gt;4,389&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,780&#160;&lt;/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;Finished goods&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:700;line-height:100%"&gt;34,879&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-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:700;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:700;line-height:100%"&gt;61,392&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;60,830&#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:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81NS9mcmFnOmM1OWM5OTU0MGEzNDRlMjVhZmNjYzc1OWIzMzFjMjc5L3RleHRyZWdpb246YzU5Yzk5NTQwYTM0NGUyNWFmY2NjNzU5YjMzMWMyNzlfNDg0_00e4f407-c21e-4d9c-b078-3b0445e861d9">&lt;div style="margin-top:6pt"&gt;&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 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.028%"/&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:17.031%"/&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: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;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2020&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:top"&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;/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:700;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:700;line-height:100%"&gt;22,124&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;26,800&#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:top"&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;/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:700;line-height:100%"&gt;4,389&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,780&#160;&lt;/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;Finished goods&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:700;line-height:100%"&gt;34,879&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-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:700;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:700;line-height:100%"&gt;61,392&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;60,830&#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:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81NS9mcmFnOmM1OWM5OTU0MGEzNDRlMjVhZmNjYzc1OWIzMzFjMjc5L3RhYmxlOjE5Y2E1MjdiODA0ZjQ4MTU4ZjJjNGZhMjM3YTQzNTM1L3RhYmxlcmFuZ2U6MTljYTUyN2I4MDRmNDgxNThmMmM0ZmEyMzdhNDM1MzVfMS0xLTEtMS0w_ce662ddb-58b3-4a97-8185-071498004de9"
      unitRef="usd">22124000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81NS9mcmFnOmM1OWM5OTU0MGEzNDRlMjVhZmNjYzc1OWIzMzFjMjc5L3RhYmxlOjE5Y2E1MjdiODA0ZjQ4MTU4ZjJjNGZhMjM3YTQzNTM1L3RhYmxlcmFuZ2U6MTljYTUyN2I4MDRmNDgxNThmMmM0ZmEyMzdhNDM1MzVfMS0zLTEtMS0w_e50aa98d-69c8-4f87-8b7d-f9021d654b51"
      unitRef="usd">26800000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81NS9mcmFnOmM1OWM5OTU0MGEzNDRlMjVhZmNjYzc1OWIzMzFjMjc5L3RhYmxlOjE5Y2E1MjdiODA0ZjQ4MTU4ZjJjNGZhMjM3YTQzNTM1L3RhYmxlcmFuZ2U6MTljYTUyN2I4MDRmNDgxNThmMmM0ZmEyMzdhNDM1MzVfMi0xLTEtMS0w_3fa89daf-ea6b-4a62-bf4c-b412cbfeb961"
      unitRef="usd">4389000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81NS9mcmFnOmM1OWM5OTU0MGEzNDRlMjVhZmNjYzc1OWIzMzFjMjc5L3RhYmxlOjE5Y2E1MjdiODA0ZjQ4MTU4ZjJjNGZhMjM3YTQzNTM1L3RhYmxlcmFuZ2U6MTljYTUyN2I4MDRmNDgxNThmMmM0ZmEyMzdhNDM1MzVfMi0zLTEtMS0w_e1c390da-392f-46f2-92fc-3e536715af1d"
      unitRef="usd">4780000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81NS9mcmFnOmM1OWM5OTU0MGEzNDRlMjVhZmNjYzc1OWIzMzFjMjc5L3RhYmxlOjE5Y2E1MjdiODA0ZjQ4MTU4ZjJjNGZhMjM3YTQzNTM1L3RhYmxlcmFuZ2U6MTljYTUyN2I4MDRmNDgxNThmMmM0ZmEyMzdhNDM1MzVfMy0xLTEtMS0w_ab764462-fe95-4540-af61-4486f6a25ee4"
      unitRef="usd">34879000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81NS9mcmFnOmM1OWM5OTU0MGEzNDRlMjVhZmNjYzc1OWIzMzFjMjc5L3RhYmxlOjE5Y2E1MjdiODA0ZjQ4MTU4ZjJjNGZhMjM3YTQzNTM1L3RhYmxlcmFuZ2U6MTljYTUyN2I4MDRmNDgxNThmMmM0ZmEyMzdhNDM1MzVfMy0zLTEtMS0w_3c660311-60be-4b97-82c4-28df37362a79"
      unitRef="usd">29250000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81NS9mcmFnOmM1OWM5OTU0MGEzNDRlMjVhZmNjYzc1OWIzMzFjMjc5L3RhYmxlOjE5Y2E1MjdiODA0ZjQ4MTU4ZjJjNGZhMjM3YTQzNTM1L3RhYmxlcmFuZ2U6MTljYTUyN2I4MDRmNDgxNThmMmM0ZmEyMzdhNDM1MzVfNC0xLTEtMS0w_bf313dff-04b5-491c-867b-3ddcbab56ed7"
      unitRef="usd">61392000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81NS9mcmFnOmM1OWM5OTU0MGEzNDRlMjVhZmNjYzc1OWIzMzFjMjc5L3RhYmxlOjE5Y2E1MjdiODA0ZjQ4MTU4ZjJjNGZhMjM3YTQzNTM1L3RhYmxlcmFuZ2U6MTljYTUyN2I4MDRmNDgxNThmMmM0ZmEyMzdhNDM1MzVfNC0zLTEtMS0w_85d7ab17-ca8b-4575-beb1-d42c9c278690"
      unitRef="usd">60830000</us-gaap:InventoryNet>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMzQ2Mw_70493998-1dc5-45e5-b400-7a4c18967d55">Leases&lt;div style="margin-top:9pt;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 leases are primarily leased properties across different worldwide locations where the Company conducts its operations. All of these leases are classified as operating leases. Certain leases may contain options to extend or terminate the lease at the Company's sole discretion. As of April&#160;4, 2021 and December&#160;31, 2020, there was one option to terminate that was accounted for in the determination of the lease term for one of the Company's outstanding leases, and no options to extend that were included in the determination of the lease term for outstanding leases. Certain leases contain leasehold improvement incentives, retirement obligations, escalating clauses, rent holidays, and variable payments tied to a consumer price index. There were no restrictions or covenants for outstanding leases as of April&#160;4, 2021 and December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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 total operating lease expense for the three-month periods ended April&#160;4, 2021 and March&#160;29, 2020 was $2,002,000 and $1,906,000, respectively. The total operating lease cash payments for the three-month periods ended April&#160;4, 2021 and March&#160;29, 2020 were $2,061,000 and $1,863,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability was $40,000 and $39,000 for the three-month periods ended April&#160;4, 2021 and March&#160;29, 2020, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future operating lease cash payments are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.648%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.728%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.224%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Year Ended December&#160;31,&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;Amount &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;Remainder of fiscal 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;6,546&#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;2022&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;6,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;/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;2023&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;4,948&#160;&lt;/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;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,046&#160;&lt;/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;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,280&#160;&lt;/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;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;968&#160;&lt;/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;Thereafter&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;3,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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:700;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:700;line-height:100%"&gt;26,314&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The discounted present value of the future lease cash payments resulted in a lease liability of $24,028,000 and $26,230,000 as of April&#160;4, 2021 and December&#160;31, 2020, respectively. The Company did not have any leases that had not yet commenced but that created significant rights and obligations as of April&#160;4, 2021 or December&#160;31, 2020. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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 weighted-average discount rate was 3.9% and 4.0% for the leases outstanding as of April&#160;4, 2021 and December&#160;31, 2020, respectively. The weighted-average remaining lease term was 4.9 and 5.1 years for the leases outstanding as of April&#160;4, 2021 and December&#160;31, 2020, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Management closed eleven leased offices in 2020, prior to the end of their lease terms, as a part of the Company's restructuring plan (refer to Note 16). Management is currently negotiating early contract terminations for the remaining lease liability obligations associated with these abandoned offices, which obligations totaled $2,530,000 and $2,877,000 as of April&#160;4, 2021 and December&#160;31, 2020, respectively, and are included in "Operating lease liabilities" on the Consolidated Balance Sheets.&lt;/span&gt;&lt;/div&gt;The Company owns a building adjacent to its corporate headquarters that was partially occupied by a tenant for a portion of 2020. This lease was terminated prior to the end of its lease term during 2020, and the Company is now fully occupying this building for its operations. There was no rental income for the three-month period ended April&#160;4, 2021. Rental income was $77,000 for the three-month period ended March&#160;29, 2020</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfODAy_059121f8-ee2f-4795-ba33-661c303d9c79"
      unitRef="usd">2002000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfODA5_5ddfa6f3-1fbc-4804-a46f-a1f549473eb9"
      unitRef="usd">1906000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeasePayments
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfOTMz_f6a53581-61c7-417f-8805-153c0b59084b"
      unitRef="usd">2061000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfOTQw_298aea45-6389-462a-99b6-d609f3ee6ddc"
      unitRef="usd">1863000</us-gaap:OperatingLeasePayments>
    <us-gaap:LeaseCost
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMTExNA_717fae1d-92e2-40ff-b663-d094624fdfd5"
      unitRef="usd">40000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMTA5OTUxMTYzMjk1NA_846c3169-addd-4de3-9a98-0d17da514578"
      unitRef="usd">39000</us-gaap:LeaseCost>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMzQ2Nw_58aa62c5-f755-4a53-907d-b2cf47818ebe">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future operating lease cash payments are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.648%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.728%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.224%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Year Ended December&#160;31,&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;Amount &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;Remainder of fiscal 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;6,546&#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;2022&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;6,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;/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;2023&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;4,948&#160;&lt;/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;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,046&#160;&lt;/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;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,280&#160;&lt;/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;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;968&#160;&lt;/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;Thereafter&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;3,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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:700;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:700;line-height:100%"&gt;26,314&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RhYmxlOmRhOGFjZTA5MzVhNjQ0ZTNiODU4YzE2Mzk2OTM2ZmFkL3RhYmxlcmFuZ2U6ZGE4YWNlMDkzNWE2NDRlM2I4NThjMTYzOTY5MzZmYWRfMS0yLTEtMS0w_373cd2ea-2309-407a-8172-dcdeabcbc37d"
      unitRef="usd">6546000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RhYmxlOmRhOGFjZTA5MzVhNjQ0ZTNiODU4YzE2Mzk2OTM2ZmFkL3RhYmxlcmFuZ2U6ZGE4YWNlMDkzNWE2NDRlM2I4NThjMTYzOTY5MzZmYWRfMi0yLTEtMS0w_6e6971cb-9048-4198-a92b-661419a5ee1b"
      unitRef="usd">6711000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RhYmxlOmRhOGFjZTA5MzVhNjQ0ZTNiODU4YzE2Mzk2OTM2ZmFkL3RhYmxlcmFuZ2U6ZGE4YWNlMDkzNWE2NDRlM2I4NThjMTYzOTY5MzZmYWRfMy0yLTEtMS0w_aaec3a8b-dc7f-4109-9c6b-7b8e54bf5846"
      unitRef="usd">4948000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RhYmxlOmRhOGFjZTA5MzVhNjQ0ZTNiODU4YzE2Mzk2OTM2ZmFkL3RhYmxlcmFuZ2U6ZGE4YWNlMDkzNWE2NDRlM2I4NThjMTYzOTY5MzZmYWRfNC0yLTEtMS0w_16fa1aba-6d7c-4176-81da-93631af84d97"
      unitRef="usd">2046000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RhYmxlOmRhOGFjZTA5MzVhNjQ0ZTNiODU4YzE2Mzk2OTM2ZmFkL3RhYmxlcmFuZ2U6ZGE4YWNlMDkzNWE2NDRlM2I4NThjMTYzOTY5MzZmYWRfNS0yLTEtMS0w_a5c5757e-22de-4c3b-b9ac-93b0289c4757"
      unitRef="usd">1280000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RhYmxlOmRhOGFjZTA5MzVhNjQ0ZTNiODU4YzE2Mzk2OTM2ZmFkL3RhYmxlcmFuZ2U6ZGE4YWNlMDkzNWE2NDRlM2I4NThjMTYzOTY5MzZmYWRfNi0yLTEtMS0w_c3f6bb5a-5613-4f2d-b070-a119e3100631"
      unitRef="usd">968000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RhYmxlOmRhOGFjZTA5MzVhNjQ0ZTNiODU4YzE2Mzk2OTM2ZmFkL3RhYmxlcmFuZ2U6ZGE4YWNlMDkzNWE2NDRlM2I4NThjMTYzOTY5MzZmYWRfNy0yLTEtMS0w_3c460236-bc61-45b5-8491-7734c4f869a2"
      unitRef="usd">3815000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RhYmxlOmRhOGFjZTA5MzVhNjQ0ZTNiODU4YzE2Mzk2OTM2ZmFkL3RhYmxlcmFuZ2U6ZGE4YWNlMDkzNWE2NDRlM2I4NThjMTYzOTY5MzZmYWRfOC0yLTEtMS0w_0993f251-8757-4d88-9d31-4d462df12ca8"
      unitRef="usd">26314000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:OperatingLeaseLiability
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMTg5Mg_ca20de4d-7c08-4990-a827-5e1df494b90a"
      unitRef="usd">24028000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMTg5OQ_89a3f23e-0e12-4954-8de6-137353fd1d76"
      unitRef="usd">26230000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMjEzNg_1d683381-ecf1-4c2d-a763-9142e1469437"
      unitRef="number">0.039</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMjE0Mw_c6b66002-d2fa-48b9-8805-00416a9cb66c"
      unitRef="number">0.040</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMjI2Ng_80ab1ef1-1967-4df9-8109-f87940190072">P4Y10M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMjI3Mw_97152cbe-957f-4918-a854-52c602de92e0">P5Y1M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseLiability
      contextRef="i365033f23181440ba670110560aeaa8b_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMTA5OTUxMTYzMzU2MA_438f7f43-5f47-42ff-8a76-12058fa9cf86"
      unitRef="usd">2530000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i9a73180b00a24270814fdf8f66af850c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMTA5OTUxMTYzMzI2Nw_41bc82c2-3443-4703-9b00-7a115176a6f5"
      unitRef="usd">2877000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLeaseIncome
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMTA5OTUxMTYzNTAzMw_523f1fa5-e5ae-40ca-a88b-4f1704258e82"
      unitRef="usd">0</us-gaap:OperatingLeaseLeaseIncome>
    <us-gaap:OperatingLeaseLeaseIncome
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF81OC9mcmFnOmJhMDAzNWM4ZTZhMDQ4ZTE4YjkzNGZkZjA1M2I5YmQzL3RleHRyZWdpb246YmEwMDM1YzhlNmEwNDhlMThiOTM0ZmRmMDUzYjliZDNfMzIyOQ_d3b5ab60-3c76-4404-b258-5f764ec3f995"
      unitRef="usd">77000</us-gaap:OperatingLeaseLeaseIncome>
    <us-gaap:GoodwillDisclosureTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82MS9mcmFnOjEyNzZmNjZhZTA3ZTQ4YWRhYzU2YjA3ZjQ3NDY3MDdkL3RleHRyZWdpb246MTI3NmY2NmFlMDdlNDhhZGFjNTZiMDdmNDc0NjcwN2RfODM4_c1033053-1242-44a4-9c9d-9b4d725a8e29">Goodwill&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying value of goodwill were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:83.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.776%"/&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2020&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;244,078&#160;&lt;/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;&#160;&#160;Foreign exchange rate changes&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,042)&lt;/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;Balance as of April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;243,036&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:GoodwillDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82MS9mcmFnOjEyNzZmNjZhZTA3ZTQ4YWRhYzU2YjA3ZjQ3NDY3MDdkL3RleHRyZWdpb246MTI3NmY2NmFlMDdlNDhhZGFjNTZiMDdmNDc0NjcwN2RfODM5_c2b92b27-c8ab-4112-84fa-f216e44f569e">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying value of goodwill were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:83.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.776%"/&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2020&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;244,078&#160;&lt;/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;&#160;&#160;Foreign exchange rate changes&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,042)&lt;/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;Balance as of April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;243,036&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82MS9mcmFnOjEyNzZmNjZhZTA3ZTQ4YWRhYzU2YjA3ZjQ3NDY3MDdkL3RhYmxlOmI1MTE4YzNkMWQwYjRmYTlhZDMxOThhMmJmNTM4OWUwL3RhYmxlcmFuZ2U6YjUxMThjM2QxZDBiNGZhOWFkMzE5OGEyYmY1Mzg5ZTBfMC0yLTEtMS0w_7ef21da2-ca90-4f2a-a67b-561ce7894778"
      unitRef="usd">244078000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82MS9mcmFnOjEyNzZmNjZhZTA3ZTQ4YWRhYzU2YjA3ZjQ3NDY3MDdkL3RhYmxlOmI1MTE4YzNkMWQwYjRmYTlhZDMxOThhMmJmNTM4OWUwL3RhYmxlcmFuZ2U6YjUxMThjM2QxZDBiNGZhOWFkMzE5OGEyYmY1Mzg5ZTBfMS0yLTEtMS0w_3b3a84bb-0f65-4a4c-b732-f14a5b8d38b6"
      unitRef="usd">-1042000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82MS9mcmFnOjEyNzZmNjZhZTA3ZTQ4YWRhYzU2YjA3ZjQ3NDY3MDdkL3RhYmxlOmI1MTE4YzNkMWQwYjRmYTlhZDMxOThhMmJmNTM4OWUwL3RhYmxlcmFuZ2U6YjUxMThjM2QxZDBiNGZhOWFkMzE5OGEyYmY1Mzg5ZTBfMi0yLTEtMS0w_a4eadb53-6f7c-4215-aebd-2a9261ed2eec"
      unitRef="usd">243036000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RleHRyZWdpb246OTViMDQ5Y2ZiZWM5NGVlZTkzZWRjZTJhN2IzYzExMGZfMjgwMQ_ba3d0f3c-1108-4d4a-829d-5f00a48c8163">Intangible Assets&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortized intangible assets consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.176%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.318%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.318%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.320%"/&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distribution networks&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:700;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:700;line-height:100%"&gt;38,060&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;38,060&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;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;Completed technologies&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:700;line-height:100%"&gt;24,217&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;13,116&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;11,101&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&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:700;line-height:100%"&gt;10,578&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;7,340&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;3,238&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&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:700;line-height:100%"&gt;710&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;450&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;260&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&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:700;line-height:100%"&gt;110&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;81&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;29&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/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;Balance as of April 4, 2021&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:700;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:700;line-height:100%"&gt;73,675&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;59,047&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;14,628&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:9pt"&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 #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:3pt double #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:3pt double #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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#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:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distribution networks&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;38,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;38,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;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;Completed technologies&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,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,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 7.75pt;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;Customer relationships&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;10,578&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;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;Non-compete agreements&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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&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;110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/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;Balance as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;73,675&#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;58,120&#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;15,555&#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;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;As of April&#160;4, 2021, estimated future amortization expense related to intangible assets was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.623%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.445%"/&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:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Year Ended December&#160;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: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;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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Remainder of fiscal 2021&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-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;2,729&#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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;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;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;2,594&#160;&lt;/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;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;2,080&#160;&lt;/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;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;1,757&#160;&lt;/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;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;1,452&#160;&lt;/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;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;730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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:700;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:700;line-height:100%"&gt;14,628&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RleHRyZWdpb246OTViMDQ5Y2ZiZWM5NGVlZTkzZWRjZTJhN2IzYzExMGZfMjgwMw_91477ff9-ab30-48cf-8f21-a1e5d6705f98">&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortized intangible assets consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.176%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.318%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.318%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.320%"/&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distribution networks&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:700;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:700;line-height:100%"&gt;38,060&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;38,060&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;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;Completed technologies&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:700;line-height:100%"&gt;24,217&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;13,116&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;11,101&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&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:700;line-height:100%"&gt;10,578&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;7,340&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;3,238&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&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:700;line-height:100%"&gt;710&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;450&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;260&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&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:700;line-height:100%"&gt;110&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;81&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;29&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/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;Balance as of April 4, 2021&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:700;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:700;line-height:100%"&gt;73,675&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;59,047&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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:700;line-height:100%"&gt;14,628&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:9pt"&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 #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:3pt double #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:3pt double #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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#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:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distribution networks&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;38,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;38,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;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;Completed technologies&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,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,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 7.75pt;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;Customer relationships&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;10,578&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;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;Non-compete agreements&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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&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;110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/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;Balance as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;73,675&#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;58,120&#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;15,555&#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:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i315aa8b70ffb4b5a86cede84e5d05ba9_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMS0xLTEtMS0w_3bc2541f-f9a4-4358-821b-289e4159048a"
      unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i315aa8b70ffb4b5a86cede84e5d05ba9_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMS0zLTEtMS0w_28736277-dba5-4194-92be-6dec3400478a"
      unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i315aa8b70ffb4b5a86cede84e5d05ba9_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMS01LTEtMS0w_a9b62b31-ed56-46ab-8dc5-15b0ae974f58"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i07e3c8cc9bcd41f28136ba2fd0e2ccd0_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMi0xLTEtMS0w_01a165e9-19dc-4708-8670-86522d8b44b6"
      unitRef="usd">24217000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i07e3c8cc9bcd41f28136ba2fd0e2ccd0_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMi0zLTEtMS0w_196c7e8c-3f27-44ef-b23f-69c088b9b7cf"
      unitRef="usd">13116000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i07e3c8cc9bcd41f28136ba2fd0e2ccd0_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMi01LTEtMS0w_17311c62-f7e2-4c18-b7d7-e91c4eb7a4f6"
      unitRef="usd">11101000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i5ef9a00c22d745888b5a74e9567c0a59_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMy0xLTEtMS0w_dccd9c70-362e-4c38-8d77-17f545fe12a3"
      unitRef="usd">10578000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i5ef9a00c22d745888b5a74e9567c0a59_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMy0zLTEtMS0w_6b34cfa6-9d5c-4b1a-9ee1-1acb94ad2d5e"
      unitRef="usd">7340000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i5ef9a00c22d745888b5a74e9567c0a59_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMy01LTEtMS0w_27958792-a60e-45e0-8798-af04653228ac"
      unitRef="usd">3238000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i98075e1359f84413acdcd64ca72b7845_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfNS0xLTEtMS0w_6b017acc-aa69-4cc4-aad0-3a8bbc3b92ad"
      unitRef="usd">710000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i98075e1359f84413acdcd64ca72b7845_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfNS0zLTEtMS0w_6e40bf1c-cd44-45a7-907f-ad2aabbc4341"
      unitRef="usd">450000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i98075e1359f84413acdcd64ca72b7845_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfNS01LTEtMS0w_f7fca7a0-578a-464e-a1b8-682db274f44c"
      unitRef="usd">260000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i042e6af78af94475810416cba5af3a71_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfNi0xLTEtMS0w_e57fc117-8199-483f-9f58-4d575c6c90db"
      unitRef="usd">110000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i042e6af78af94475810416cba5af3a71_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfNi0zLTEtMS0w_593c9844-9180-4207-9edd-f1d20f493a50"
      unitRef="usd">81000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i042e6af78af94475810416cba5af3a71_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfNi01LTEtMS0w_1e1779ef-1317-4d44-ad1d-1e78d6e7bfee"
      unitRef="usd">29000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfNy0xLTEtMS0w_ab944aa1-ca4b-4007-843f-7b100bd37b2b"
      unitRef="usd">73675000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfNy0zLTEtMS0w_a352aa0d-b629-4434-a1bb-a353deae5505"
      unitRef="usd">59047000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfNy01LTEtMS0w_5fa55fc4-3119-45ce-9ee9-80ce81ae65c7"
      unitRef="usd">14628000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ia31bcb9f672d4c6d9a7c9be40038d498_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTAtMS0xLTEtMA_7a058a59-c0ac-4cc8-8a77-63a08f793f0d"
      unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ia31bcb9f672d4c6d9a7c9be40038d498_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTAtMy0xLTEtMA_be3eea3e-ce55-4a53-9087-8505e50a699d"
      unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ia31bcb9f672d4c6d9a7c9be40038d498_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTAtNS0xLTEtMA_2138bee9-cfae-4c79-bd35-06e19f964b11"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ib21762a254294b1b9aec94bd34ef6173_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTEtMS0xLTEtMA_e2dfd225-a255-400a-bcc5-4de9325efa10"
      unitRef="usd">24217000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ib21762a254294b1b9aec94bd34ef6173_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTEtMy0xLTEtMA_50c6b66f-fb87-45d4-b6e2-3476f80589b4"
      unitRef="usd">12397000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ib21762a254294b1b9aec94bd34ef6173_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTEtNS0xLTEtMA_92b0ca39-075a-4437-a8d3-63eadf5b1192"
      unitRef="usd">11820000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="if14543784f594287ad064d7afecd23c7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTItMS0xLTEtMA_6aa296f4-49e6-40f9-84c8-b0c33fdf4387"
      unitRef="usd">10578000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="if14543784f594287ad064d7afecd23c7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTItMy0xLTEtMA_8a3e3146-23ea-4e20-94f5-110ea97e89e1"
      unitRef="usd">7160000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if14543784f594287ad064d7afecd23c7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTItNS0xLTEtMA_e73526d6-1267-46a8-bcee-41817db00e8b"
      unitRef="usd">3418000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i973a30f1d39f44ec833d8f85062fb64b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTQtMS0xLTEtMA_03354e96-5f99-4371-999c-e46f7fe2cf7a"
      unitRef="usd">710000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i973a30f1d39f44ec833d8f85062fb64b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTQtMy0xLTEtMA_63ac01eb-d3b9-462a-a5d8-3011701db4a4"
      unitRef="usd">436000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i973a30f1d39f44ec833d8f85062fb64b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTQtNS0xLTEtMA_440c0d89-7ea3-4982-8b70-1d227c148e62"
      unitRef="usd">274000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i9c234cd85edb4276ab45cf24ddb511a2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTUtMS0xLTEtMA_725696ee-f4a1-43f0-a42a-9b5c65bf3f15"
      unitRef="usd">110000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i9c234cd85edb4276ab45cf24ddb511a2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTUtMy0xLTEtMA_dcf11912-336e-4ec4-b608-3a3279317804"
      unitRef="usd">67000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i9c234cd85edb4276ab45cf24ddb511a2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTUtNS0xLTEtMA_82f72fab-9869-4390-9252-24c2fa7b58d0"
      unitRef="usd">43000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTYtMS0xLTEtMA_edc0bb0a-4257-4377-aabb-28777904cfb4"
      unitRef="usd">73675000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTYtMy0xLTEtMA_01604ba7-13a4-4317-93af-26a197260135"
      unitRef="usd">58120000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjRlYWNiNzc3YmQxMjQzM2NhMWNjYjAxOWVmOWQ1Y2EzL3RhYmxlcmFuZ2U6NGVhY2I3NzdiZDEyNDMzY2ExY2NiMDE5ZWY5ZDVjYTNfMTYtNS0xLTEtMA_eeebeff1-534e-437a-9ec5-4ab1064db266"
      unitRef="usd">15555000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RleHRyZWdpb246OTViMDQ5Y2ZiZWM5NGVlZTkzZWRjZTJhN2IzYzExMGZfMjgxMw_a154381f-30c0-485c-add1-50cb62a5834e">&lt;div style="margin-top:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;As of April&#160;4, 2021, estimated future amortization expense related to intangible assets was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.623%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.445%"/&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:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Year Ended December&#160;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: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;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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Remainder of fiscal 2021&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-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;2,729&#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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;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;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;2,594&#160;&lt;/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;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;2,080&#160;&lt;/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;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;1,757&#160;&lt;/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;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;1,452&#160;&lt;/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;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;730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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:700;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:700;line-height:100%"&gt;14,628&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="ib7cbd43fea304b519f1327a39338f599_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjdkYTViNmI4ODRlNTRmM2VhNjA2MWU1YjY1MTM3NGFkL3RhYmxlcmFuZ2U6N2RhNWI2Yjg4NGU1NGYzZWE2MDYxZTViNjUxMzc0YWRfMS0yLTEtMS0w_bd63a8b5-7b43-40b4-946b-eeb1657cadf5"
      unitRef="usd">2729000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="ib7cbd43fea304b519f1327a39338f599_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjdkYTViNmI4ODRlNTRmM2VhNjA2MWU1YjY1MTM3NGFkL3RhYmxlcmFuZ2U6N2RhNWI2Yjg4NGU1NGYzZWE2MDYxZTViNjUxMzc0YWRfMi0yLTEtMS0w_204ed0ca-6b20-471d-99a7-f67a32b63571"
      unitRef="usd">3286000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="ib7cbd43fea304b519f1327a39338f599_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjdkYTViNmI4ODRlNTRmM2VhNjA2MWU1YjY1MTM3NGFkL3RhYmxlcmFuZ2U6N2RhNWI2Yjg4NGU1NGYzZWE2MDYxZTViNjUxMzc0YWRfMy0yLTEtMS0w_fb9c0d0b-a1a7-4c92-8002-185ec1bbe96c"
      unitRef="usd">2594000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="ib7cbd43fea304b519f1327a39338f599_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjdkYTViNmI4ODRlNTRmM2VhNjA2MWU1YjY1MTM3NGFkL3RhYmxlcmFuZ2U6N2RhNWI2Yjg4NGU1NGYzZWE2MDYxZTViNjUxMzc0YWRfNC0yLTEtMS0w_4c7879f9-0292-4674-beae-cf244c35e0c4"
      unitRef="usd">2080000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="ib7cbd43fea304b519f1327a39338f599_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjdkYTViNmI4ODRlNTRmM2VhNjA2MWU1YjY1MTM3NGFkL3RhYmxlcmFuZ2U6N2RhNWI2Yjg4NGU1NGYzZWE2MDYxZTViNjUxMzc0YWRfNS0yLTEtMS0w_6de0ba18-4973-41fa-a96e-ecbd0cc2ad6e"
      unitRef="usd">1757000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="ib7cbd43fea304b519f1327a39338f599_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjdkYTViNmI4ODRlNTRmM2VhNjA2MWU1YjY1MTM3NGFkL3RhYmxlcmFuZ2U6N2RhNWI2Yjg4NGU1NGYzZWE2MDYxZTViNjUxMzc0YWRfNi0yLTEtMS0w_bf817729-f30d-43d8-97ce-9f2d2e0f56e5"
      unitRef="usd">1452000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="ib7cbd43fea304b519f1327a39338f599_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjdkYTViNmI4ODRlNTRmM2VhNjA2MWU1YjY1MTM3NGFkL3RhYmxlcmFuZ2U6N2RhNWI2Yjg4NGU1NGYzZWE2MDYxZTViNjUxMzc0YWRfNy0yLTEtMS0w_8fb88bc7-910a-4c46-8b61-33413c8012ac"
      unitRef="usd">730000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ib7cbd43fea304b519f1327a39338f599_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82NC9mcmFnOjk1YjA0OWNmYmVjOTRlZWU5M2VkY2UyYTdiM2MxMTBmL3RhYmxlOjdkYTViNmI4ODRlNTRmM2VhNjA2MWU1YjY1MTM3NGFkL3RhYmxlcmFuZ2U6N2RhNWI2Yjg4NGU1NGYzZWE2MDYxZTViNjUxMzc0YWRfOC0yLTEtMS0w_29ce2049-7afb-4a73-8757-d3e30b0996ab"
      unitRef="usd">14628000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ProductWarrantyDisclosureTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82Ny9mcmFnOjEyOGU0Mzk5Mjk1MDQ4M2M4OGE1YmY4Nzc1YWU1ZjkwL3RleHRyZWdpb246MTI4ZTQzOTkyOTUwNDgzYzg4YTViZjg3NzVhZTVmOTBfMTAyMw_0271cfa9-a270-4fbe-9fb9-7dce87ca2c22">Warranty Obligations&lt;div style="margin-top:6pt;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 records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims. Obligations may also be recorded subsequent to the time of sale whenever specific events or changes in circumstances impacting product quality become known that would not have been taken into account using historical data. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company&#x2019;s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure. An adverse change in any of these factors may result in the need for additional warranty provisions. Warranty obligations are included in &#x201c;Accrued expenses&#x201d; on the Consolidated Balance Sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the warranty obligation were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:80.771%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.029%"/&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2020&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;5,406&#160;&lt;/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;Provisions for warranties issued during the period&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;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;/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;Fulfillment of warranty obligations&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;(691)&lt;/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;/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;Balance as of April 4, 2021&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:700;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:700;line-height:100%"&gt;5,486&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;</us-gaap:ProductWarrantyDisclosureTextBlock>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82Ny9mcmFnOjEyOGU0Mzk5Mjk1MDQ4M2M4OGE1YmY4Nzc1YWU1ZjkwL3RleHRyZWdpb246MTI4ZTQzOTkyOTUwNDgzYzg4YTViZjg3NzVhZTVmOTBfMTAyNQ_5e3e2888-308b-446f-b80b-50581a4e2f0d">&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the warranty obligation were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:80.771%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.029%"/&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2020&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;5,406&#160;&lt;/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;Provisions for warranties issued during the period&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;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;/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;Fulfillment of warranty obligations&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;(691)&lt;/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;/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;Balance as of April 4, 2021&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:700;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:700;line-height:100%"&gt;5,486&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82Ny9mcmFnOjEyOGU0Mzk5Mjk1MDQ4M2M4OGE1YmY4Nzc1YWU1ZjkwL3RhYmxlOmUxMGRiYjNjZTQ5ODQzYjJhMTJjMzU0NzdkMjExMDYwL3RhYmxlcmFuZ2U6ZTEwZGJiM2NlNDk4NDNiMmExMmMzNTQ3N2QyMTEwNjBfMC0xLTEtMS0w_da135386-fefd-4f17-a5cc-a33b4e49287b"
      unitRef="usd">5406000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82Ny9mcmFnOjEyOGU0Mzk5Mjk1MDQ4M2M4OGE1YmY4Nzc1YWU1ZjkwL3RhYmxlOmUxMGRiYjNjZTQ5ODQzYjJhMTJjMzU0NzdkMjExMDYwL3RhYmxlcmFuZ2U6ZTEwZGJiM2NlNDk4NDNiMmExMmMzNTQ3N2QyMTEwNjBfMS0xLTEtMS0w_2a3629b6-9606-423d-9afa-a1dda1ebe579"
      unitRef="usd">771000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82Ny9mcmFnOjEyOGU0Mzk5Mjk1MDQ4M2M4OGE1YmY4Nzc1YWU1ZjkwL3RhYmxlOmUxMGRiYjNjZTQ5ODQzYjJhMTJjMzU0NzdkMjExMDYwL3RhYmxlcmFuZ2U6ZTEwZGJiM2NlNDk4NDNiMmExMmMzNTQ3N2QyMTEwNjBfMi0xLTEtMS0w_a7b55568-ef3f-4b19-9781-19cd996baaab"
      unitRef="usd">691000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF82Ny9mcmFnOjEyOGU0Mzk5Mjk1MDQ4M2M4OGE1YmY4Nzc1YWU1ZjkwL3RhYmxlOmUxMGRiYjNjZTQ5ODQzYjJhMTJjMzU0NzdkMjExMDYwL3RhYmxlcmFuZ2U6ZTEwZGJiM2NlNDk4NDNiMmExMmMzNTQ3N2QyMTEwNjBfNC0xLTEtMS0w_65525aa4-b14a-4203-878f-03e11ef4a245"
      unitRef="usd">5486000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RleHRyZWdpb246ODRkYjc1Yjg0NTY2NGExOTllZDk0ZjE3YmU2NDBkN2VfMTQ1Mw_7f01b6c7-c581-4165-821e-9f7c61e57ff3">Derivative Instruments&lt;div style="margin-top:6pt;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&#x2019;s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates. The Company enters into economic hedges utilizing foreign currency forward contracts with maturities of up to 95 days to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables. The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged. These economic hedges are not designated as hedging instruments for hedge accounting treatment. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 had the following outstanding forward contracts (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&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:11.034%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&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:10.746%"/&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&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:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&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:700;line-height:100%"&gt;Currency&lt;/span&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:10pt;font-weight:700;line-height:100%"&gt;Notional&lt;br/&gt;Value&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:10pt;font-weight:700;line-height:100%"&gt;USD&lt;br/&gt;Equivalent&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:10pt;font-weight:400;line-height:100%"&gt;Notional&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;USD&lt;br/&gt;Equivalent&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" 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-style:italic;font-weight:400;line-height:100%"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Euro&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;25,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 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;29,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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 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;61,342&#160;&lt;/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;Chinese Renminbi&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;170,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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;Mexican Peso&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;150,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;7,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,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;7,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;/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;Japanese Yen&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;600,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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600,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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,808&#160;&lt;/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;Hungarian Forint&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,415,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;4,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,330,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;4,494&#160;&lt;/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;British Pound&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,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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,675&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,287&#160;&lt;/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;Taiwanese Dollar&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;37,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,362&#160;&lt;/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;Canadian Dollar&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,260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,004&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,010&#160;&lt;/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;Singapore Dollar&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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,110&#160;&lt;/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;Korean Won&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;6,925,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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,377&#160;&lt;/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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.949%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.908%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.562%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.562%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.395%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Asset Derivatives&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Liability Derivatives&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;&#160;&lt;/span&gt;&lt;/td&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:10pt;font-weight:700;line-height:100%"&gt;Balance&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fair Value&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:10pt;font-weight:700;line-height:100%"&gt;Balance&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fair Value&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;&#160;&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:10pt;font-weight:700;line-height:100%"&gt;Sheet&lt;br/&gt;Location&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&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:10pt;font-weight:700;line-height:100%"&gt;Sheet&lt;br/&gt;Location&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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="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-style:italic;font-weight:400;line-height:100%"&gt;Derivatives Not Designated as Hedging Instruments:&lt;br/&gt;&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;/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;Economic hedge forward contracts&lt;/span&gt;&lt;/td&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;Prepaid&#160;expenses&#160;and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;8&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;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="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;Accrued expenses&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:10pt;font-weight:700;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:700;line-height:100%"&gt;124&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&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 presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.281%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.826%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.562%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.826%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.668%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.562%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.540%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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:10pt;font-weight:700;line-height:100%"&gt;Asset Derivatives&lt;/span&gt;&lt;/td&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:10pt;font-weight:700;line-height:100%"&gt;Liability Derivatives&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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&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:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&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;Gross amounts of recognized assets&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:700;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:700;line-height:100%"&gt;8&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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 #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;265&#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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross amounts of recognized liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-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:700;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:700;line-height:100%"&gt;124&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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 #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;38&#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;Gross amounts offset&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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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="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;Gross amounts offset&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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;Net amount of assets presented&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;8&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;265&#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 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;Net amount of liabilities presented&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;124&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;38&#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&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:40.859%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.209%"/&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:11.034%"/&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:11.038%"/&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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" rowspan="2" style="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:700;line-height:100%"&gt;Location in Financial Statements&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:9pt;font-weight:700;line-height:100%"&gt;Three-months Ended&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 style="height:24pt"&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;&#160;&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 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:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="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-style:italic;font-weight:400;line-height:100%"&gt;Derivatives Not Designated as Hedging Instruments:&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="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;Gains (losses) recognized in current operations&lt;/span&gt;&lt;/td&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;Foreign currency gain (loss)&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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;2,893&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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 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;(8,240)&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="display:none"/&gt;&lt;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:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1
      contextRef="if765aff04fb344bf8d2ba5e9c6e2e360_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RleHRyZWdpb246ODRkYjc1Yjg0NTY2NGExOTllZDk0ZjE3YmU2NDBkN2VfNDY4_a6395c9c-2082-4a20-b218-f536246e4865">P95D</us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1>
    <cgnx:OutstandingForwardContractsTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RleHRyZWdpb246ODRkYjc1Yjg0NTY2NGExOTllZDk0ZjE3YmU2NDBkN2VfMTQ2Mg_2830f9e5-71c1-45bf-ac98-c60624eb0300">&lt;div style="margin-top:6pt;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 had the following outstanding forward contracts (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&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:11.034%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&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:10.746%"/&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&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:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&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:700;line-height:100%"&gt;Currency&lt;/span&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:10pt;font-weight:700;line-height:100%"&gt;Notional&lt;br/&gt;Value&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:10pt;font-weight:700;line-height:100%"&gt;USD&lt;br/&gt;Equivalent&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:10pt;font-weight:400;line-height:100%"&gt;Notional&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;USD&lt;br/&gt;Equivalent&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" 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-style:italic;font-weight:400;line-height:100%"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Euro&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;25,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 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;29,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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 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;61,342&#160;&lt;/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;Chinese Renminbi&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;170,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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;Mexican Peso&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;150,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;7,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,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;7,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;/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;Japanese Yen&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;600,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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600,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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,808&#160;&lt;/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;Hungarian Forint&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,415,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;4,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,330,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;4,494&#160;&lt;/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;British Pound&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,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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,675&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,287&#160;&lt;/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;Taiwanese Dollar&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;37,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,362&#160;&lt;/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;Canadian Dollar&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,260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,004&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,010&#160;&lt;/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;Singapore Dollar&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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,110&#160;&lt;/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;Korean Won&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;6,925,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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,377&#160;&lt;/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;/table&gt;&lt;/div&gt;</cgnx:OutstandingForwardContractsTableTextBlock>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i8a9626967c394e91805893946560cb36_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMy0xLTEtMS0w_11c5d6ec-e01b-4753-a3ad-398f882a41fc"
      unitRef="eur">25000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i8a9626967c394e91805893946560cb36_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMy0zLTEtMS0w_8ff68b8d-756b-48bc-abbc-781feca6a5ae"
      unitRef="usd">29431000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="ib0ba9ddb6aea492c80031d3c7ad4c892_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMy01LTEtMS0w_e5871b3e-ae15-4f10-a117-5763be3c0378"
      unitRef="eur">50000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="ib0ba9ddb6aea492c80031d3c7ad4c892_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMy03LTEtMS0w_b7f765f1-8f8a-4528-98f3-67220832fe05"
      unitRef="usd">61342000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i7ab35831a608410c83912c50d8bdee12_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNC0xLTEtMS0w_1bb58e1a-722f-4f39-a105-dd33c67f2317"
      unitRef="cny">170000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i7ab35831a608410c83912c50d8bdee12_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNC0zLTEtMS0w_36102b09-61d3-4e6c-9076-dbc22fd6c821"
      unitRef="usd">25587000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i2a2a70f42ec14cb29cf8ee213dcf0084_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNC01LTEtMS0w_89066b43-de0e-4103-976a-9e597f8f6b52"
      unitRef="cny">0</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i2a2a70f42ec14cb29cf8ee213dcf0084_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNC03LTEtMS0w_1c1e673f-b7fd-48df-a7de-59b74e891707"
      unitRef="usd">0</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i4718daa20c0941b28830c5447eb04e13_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNS0xLTEtMS0w_931c90be-b99f-41b7-8e02-dd169cb3ff17"
      unitRef="mxn">150000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i4718daa20c0941b28830c5447eb04e13_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNS0zLTEtMS0w_ad1febb1-785a-4b53-84fe-b6ec9f62ca64"
      unitRef="usd">7350000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i5ca3891f02d6465cbb5ab5061701450f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNS01LTEtMS0w_f73938cb-2498-48c6-a890-00ea82bbd0b2"
      unitRef="mxn">155000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i5ca3891f02d6465cbb5ab5061701450f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNS03LTEtMS0w_c3ba3388-34c1-4d2a-9d4e-965370d13021"
      unitRef="usd">7776000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="iecfbe639233d4ce8b9507e09a72028c5_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNi0xLTEtMS0w_795e29f5-b278-42f7-aa70-f1bf32f2de8a"
      unitRef="jpy">600000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="iecfbe639233d4ce8b9507e09a72028c5_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNi0zLTEtMS0w_e7dbe870-822d-444a-a3b6-d8932ce71511"
      unitRef="usd">5419000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i994c54ecfb5b46cb8e0cd4229f31a917_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNi01LTEtMS0w_33494263-6356-4548-be15-1b77b9133601"
      unitRef="jpy">600000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i994c54ecfb5b46cb8e0cd4229f31a917_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNi03LTEtMS0w_b8905dcd-2bf2-4b67-8c3b-5d255d8224fd"
      unitRef="usd">5808000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="id6de0a9092844a9c9f77357c5ce3ce21_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNy0xLTEtMS0w_1cc00954-23e9-4c35-8370-c76fcdedc377"
      unitRef="huf">1415000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="id6de0a9092844a9c9f77357c5ce3ce21_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNy0zLTEtMS0w_2794a96c-ee48-4186-8a43-b481cea0d342"
      unitRef="usd">4608000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="ifcea6697837b4505983f70b08a6da522_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNy01LTEtMS0w_64044808-9e94-4396-8256-5c30e9f60160"
      unitRef="huf">1330000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="ifcea6697837b4505983f70b08a6da522_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfNy03LTEtMS0w_1c38aecb-27b8-4bd7-96b3-cf41ed98bbe4"
      unitRef="usd">4494000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i9063c9898041472e819dfb98e4a20949_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfOC0xLTEtMS0w_c011d086-96b0-4205-bcd7-d31af9cf1a86"
      unitRef="gbp">2000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i9063c9898041472e819dfb98e4a20949_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfOC0zLTEtMS0w_11242030-bf4b-46f2-81cb-a5a3ddf5f18f"
      unitRef="usd">2765000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i8565b2df23cf4439888f835f34dd0fc5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfOC01LTEtMS0w_fd2ab85b-cf4f-4f8c-8e57-44eb7c51cb1a"
      unitRef="gbp">1675000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i8565b2df23cf4439888f835f34dd0fc5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfOC03LTEtMS0w_70c183b1-c73f-455b-954f-8e5005143079"
      unitRef="usd">2287000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="if469f3e8f8de4797910fe4af4e5f4d98_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfOS0xLTEtMS0w_99c751d8-2f04-4cd4-9729-af56cf209745"
      unitRef="twd">37600000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="if469f3e8f8de4797910fe4af4e5f4d98_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfOS0zLTEtMS0w_94b3712b-4a67-4b40-9498-a93f52ac8ffe"
      unitRef="usd">1324000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i932a7a7d6ae14fe59c670c3137ad7630_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfOS01LTEtMS0w_657f8b5f-d06d-4920-a8af-220353717f10"
      unitRef="twd">38035000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i932a7a7d6ae14fe59c670c3137ad7630_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfOS03LTEtMS0w_f11838de-7acf-422c-bc2e-91f9bfc16dc3"
      unitRef="usd">1362000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i2fbfbc24658a4f829a40803e48f3adf7_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMTAtMS0xLTEtMA_22c4375a-f0eb-482b-93e0-fb1f22fbde9d"
      unitRef="cad">1260000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i2fbfbc24658a4f829a40803e48f3adf7_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMTAtMy0xLTEtMA_1bb65c32-54ba-4036-b1e8-7e961414d550"
      unitRef="usd">1004000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i2583abb96ec04dcfb7d6759c161a4304_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMTAtNS0xLTEtMA_221c0467-f374-4871-a47f-c3d884f688dc"
      unitRef="cad">1285000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i2583abb96ec04dcfb7d6759c161a4304_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMTAtNy0xLTEtMA_7f747a4e-58fe-438f-bffb-61bf86a8374b"
      unitRef="usd">1010000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i95d4cd10f53146e4be630c3f6116d4e8_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMTEtMS0xLTEtMA_f4cc03d4-e540-4ef5-9e84-9631e2520205"
      unitRef="sgd">1300000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i95d4cd10f53146e4be630c3f6116d4e8_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMTEtMy0xLTEtMA_ffb4d798-d94b-40d6-a181-433cd6421c82"
      unitRef="usd">966000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="ie7cb7ba40aa04acca195eb9bc480e909_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMTEtNS0xLTEtMA_a934ea48-2375-4648-a79d-ae7e885ce71a"
      unitRef="sgd">1465000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="ie7cb7ba40aa04acca195eb9bc480e909_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMTEtNy0xLTEtMA_f337309b-5874-4823-b155-a14c84cebad7"
      unitRef="usd">1110000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="id099b8b474a4451ba50eae16b2a131cb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMTItMS0xLTEtMjc2Ng_f7aaa82f-0f8c-4c4c-89c4-a0297fc70f1e"
      unitRef="krw">0</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="id099b8b474a4451ba50eae16b2a131cb_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMTItMy0xLTEtMjc2Ng_79e3b522-cd2b-4e5a-a17c-5f1f6b52609f"
      unitRef="usd">0</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i009fbe774ed447b2b2130db651329535_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMTItNS0xLTEtMjc2Ng_ccef3a50-caa3-4c8e-b2ce-e25d0f5479aa"
      unitRef="krw">6925000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i009fbe774ed447b2b2130db651329535_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjU5OWYxM2M0ZWY4MjRiZjZiODQxZTFlMTVmZDg4MDI0L3RhYmxlcmFuZ2U6NTk5ZjEzYzRlZjgyNGJmNmI4NDFlMWUxNWZkODgwMjRfMTItNy0xLTEtMjc2Ng_f75bc771-32bd-4b58-bbc6-773a35115605"
      unitRef="usd">6377000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RleHRyZWdpb246ODRkYjc1Yjg0NTY2NGExOTllZDk0ZjE3YmU2NDBkN2VfMTQzNA_d5c56f39-c217-4e87-885a-1404ccb53264">&lt;div style="margin-top:1pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.949%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.908%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.562%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.562%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.395%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Asset Derivatives&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Liability Derivatives&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;&#160;&lt;/span&gt;&lt;/td&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:10pt;font-weight:700;line-height:100%"&gt;Balance&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fair Value&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:10pt;font-weight:700;line-height:100%"&gt;Balance&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fair Value&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;&#160;&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:10pt;font-weight:700;line-height:100%"&gt;Sheet&lt;br/&gt;Location&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&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:10pt;font-weight:700;line-height:100%"&gt;Sheet&lt;br/&gt;Location&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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="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-style:italic;font-weight:400;line-height:100%"&gt;Derivatives Not Designated as Hedging Instruments:&lt;br/&gt;&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;/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;Economic hedge forward contracts&lt;/span&gt;&lt;/td&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;Prepaid&#160;expenses&#160;and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;8&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;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="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;Accrued expenses&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:10pt;font-weight:700;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:700;line-height:100%"&gt;124&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
    <us-gaap:DerivativeAssets
      contextRef="i8ed96bbe4e684b8fa4e1965e1d71ac29_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOmQ2MzgzN2NjOTA3YzRiYjE4YjJmZTk1NDQ2ODNmZmI3L3RhYmxlcmFuZ2U6ZDYzODM3Y2M5MDdjNGJiMThiMmZlOTU0NDY4M2ZmYjdfNi0zLTEtMS0w_ea39e200-b636-4a8a-92f1-2ade9c457263"
      unitRef="usd">8000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="idc61c75c38054d939c3db978bc8ba04a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOmQ2MzgzN2NjOTA3YzRiYjE4YjJmZTk1NDQ2ODNmZmI3L3RhYmxlcmFuZ2U6ZDYzODM3Y2M5MDdjNGJiMThiMmZlOTU0NDY4M2ZmYjdfNi01LTEtMS0w_c912e847-a5e9-405b-b684-2c3846256849"
      unitRef="usd">265000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeLiabilities
      contextRef="ibda0ac030e5c42d99ccbf7848266d94b_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOmQ2MzgzN2NjOTA3YzRiYjE4YjJmZTk1NDQ2ODNmZmI3L3RhYmxlcmFuZ2U6ZDYzODM3Y2M5MDdjNGJiMThiMmZlOTU0NDY4M2ZmYjdfNi05LTEtMS0w_dbb18311-f49c-46f7-80a3-d8f7920387a7"
      unitRef="usd">124000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="i21b7e8269db042d4bab52ec9fc6b8007_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOmQ2MzgzN2NjOTA3YzRiYjE4YjJmZTk1NDQ2ODNmZmI3L3RhYmxlcmFuZ2U6ZDYzODM3Y2M5MDdjNGJiMThiMmZlOTU0NDY4M2ZmYjdfNi0xMS0xLTEtMA_2bdc42ec-9bf3-4963-a714-3086d16fd46c"
      unitRef="usd">38000</us-gaap:DerivativeLiabilities>
    <us-gaap:OffsettingAssetsTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RleHRyZWdpb246ODRkYjc1Yjg0NTY2NGExOTllZDk0ZjE3YmU2NDBkN2VfMTQzMQ_c028f1ad-80a9-469b-a069-22c061f22188">&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 presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.281%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.826%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.562%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.826%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.668%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.562%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.540%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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:10pt;font-weight:700;line-height:100%"&gt;Asset Derivatives&lt;/span&gt;&lt;/td&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:10pt;font-weight:700;line-height:100%"&gt;Liability Derivatives&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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&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:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&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;Gross amounts of recognized assets&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:700;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:700;line-height:100%"&gt;8&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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 #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;265&#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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross amounts of recognized liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-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:700;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:700;line-height:100%"&gt;124&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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 #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;38&#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;Gross amounts offset&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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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="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;Gross amounts offset&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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;Net amount of assets presented&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;8&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;265&#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 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;Net amount of liabilities presented&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;124&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;38&#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:OffsettingAssetsTableTextBlock>
    <us-gaap:DerivativeFairValueOfDerivativeAsset
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjE3NTViMjE0ZGMxOTRmM2FhMjAwMTcyMWM3NmZiZmNkL3RhYmxlcmFuZ2U6MTc1NWIyMTRkYzE5NGYzYWEyMDAxNzIxYzc2ZmJmY2RfMi0yLTEtMS0w_f34d1b8b-eace-411a-ac97-54246b7e91e6"
      unitRef="usd">8000</us-gaap:DerivativeFairValueOfDerivativeAsset>
    <us-gaap:DerivativeFairValueOfDerivativeAsset
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjE3NTViMjE0ZGMxOTRmM2FhMjAwMTcyMWM3NmZiZmNkL3RhYmxlcmFuZ2U6MTc1NWIyMTRkYzE5NGYzYWEyMDAxNzIxYzc2ZmJmY2RfMi00LTEtMS0w_6d6163d1-d789-469c-bbc2-38a61237c7fc"
      unitRef="usd">265000</us-gaap:DerivativeFairValueOfDerivativeAsset>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjE3NTViMjE0ZGMxOTRmM2FhMjAwMTcyMWM3NmZiZmNkL3RhYmxlcmFuZ2U6MTc1NWIyMTRkYzE5NGYzYWEyMDAxNzIxYzc2ZmJmY2RfMi04LTEtMS0w_a7dd8d51-6941-4d3a-83f9-ea0ddf03569c"
      unitRef="usd">124000</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjE3NTViMjE0ZGMxOTRmM2FhMjAwMTcyMWM3NmZiZmNkL3RhYmxlcmFuZ2U6MTc1NWIyMTRkYzE5NGYzYWEyMDAxNzIxYzc2ZmJmY2RfMi0xMC0xLTEtMA_21952a0f-185f-4700-a38b-8ba524db8444"
      unitRef="usd">38000</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjE3NTViMjE0ZGMxOTRmM2FhMjAwMTcyMWM3NmZiZmNkL3RhYmxlcmFuZ2U6MTc1NWIyMTRkYzE5NGYzYWEyMDAxNzIxYzc2ZmJmY2RfMy0yLTEtMS0w_904bf67c-648a-4f48-885e-9b4de42f82aa"
      unitRef="usd">0</us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset>
    <us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjE3NTViMjE0ZGMxOTRmM2FhMjAwMTcyMWM3NmZiZmNkL3RhYmxlcmFuZ2U6MTc1NWIyMTRkYzE5NGYzYWEyMDAxNzIxYzc2ZmJmY2RfMy00LTEtMS0w_f599096d-7589-49bb-8f6e-c4a91cc48dcd"
      unitRef="usd">0</us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset>
    <us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjE3NTViMjE0ZGMxOTRmM2FhMjAwMTcyMWM3NmZiZmNkL3RhYmxlcmFuZ2U6MTc1NWIyMTRkYzE5NGYzYWEyMDAxNzIxYzc2ZmJmY2RfMy04LTEtMS0w_53a6fb3d-5c4b-4f29-a1d8-3b2cf732cd49"
      unitRef="usd">0</us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset>
    <us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjE3NTViMjE0ZGMxOTRmM2FhMjAwMTcyMWM3NmZiZmNkL3RhYmxlcmFuZ2U6MTc1NWIyMTRkYzE5NGYzYWEyMDAxNzIxYzc2ZmJmY2RfMy0xMC0xLTEtMA_0fe74f96-c5aa-4248-bc80-89cb71710747"
      unitRef="usd">0</us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset>
    <us-gaap:DerivativeAssets
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjE3NTViMjE0ZGMxOTRmM2FhMjAwMTcyMWM3NmZiZmNkL3RhYmxlcmFuZ2U6MTc1NWIyMTRkYzE5NGYzYWEyMDAxNzIxYzc2ZmJmY2RfNC0yLTEtMS0w_34cbfd32-512c-41da-b8a7-b36e943168f1"
      unitRef="usd">8000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjE3NTViMjE0ZGMxOTRmM2FhMjAwMTcyMWM3NmZiZmNkL3RhYmxlcmFuZ2U6MTc1NWIyMTRkYzE5NGYzYWEyMDAxNzIxYzc2ZmJmY2RfNC00LTEtMS0w_57f8208d-c193-4c7b-9588-818f489d5710"
      unitRef="usd">265000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeLiabilities
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjE3NTViMjE0ZGMxOTRmM2FhMjAwMTcyMWM3NmZiZmNkL3RhYmxlcmFuZ2U6MTc1NWIyMTRkYzE5NGYzYWEyMDAxNzIxYzc2ZmJmY2RfNC04LTEtMS0w_91731d58-559e-4f07-b36d-32a69825fe28"
      unitRef="usd">124000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjE3NTViMjE0ZGMxOTRmM2FhMjAwMTcyMWM3NmZiZmNkL3RhYmxlcmFuZ2U6MTc1NWIyMTRkYzE5NGYzYWEyMDAxNzIxYzc2ZmJmY2RfNC0xMC0xLTEtMA_fe2083d1-fc92-42ad-ab60-a5e27c208c30"
      unitRef="usd">38000</us-gaap:DerivativeLiabilities>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RleHRyZWdpb246ODRkYjc1Yjg0NTY2NGExOTllZDk0ZjE3YmU2NDBkN2VfMTQyMA_a7c624dc-0b0a-4118-8e37-b6b4cc38c2fe">&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:40.859%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.209%"/&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:11.034%"/&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:11.038%"/&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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" rowspan="2" style="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:700;line-height:100%"&gt;Location in Financial Statements&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:9pt;font-weight:700;line-height:100%"&gt;Three-months Ended&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 style="height:24pt"&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;&#160;&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 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:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="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-style:italic;font-weight:400;line-height:100%"&gt;Derivatives Not Designated as Hedging Instruments:&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="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;Gains (losses) recognized in current operations&lt;/span&gt;&lt;/td&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;Foreign currency gain (loss)&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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;2,893&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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 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;(8,240)&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="display:none"/&gt;&lt;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:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="ib9cff51ce3dc42f4b0fb801e9d98a0fd_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjc4MTljZWU0ZmZmYzRhYjFhNjM0YzNiY2IyOTY4ZjBiL3RhYmxlcmFuZ2U6NzgxOWNlZTRmZmZjNGFiMWE2MzRjM2JjYjI5NjhmMGJfMTAtMy0xLTEtMA_b4fbfac6-d077-4a6b-91bb-a39bb1e6bd27"
      unitRef="usd">2893000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="i2b9d8d9451e94a5db36e5fbc285e7220_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83MC9mcmFnOjg0ZGI3NWI4NDU2NjRhMTk5ZWQ5NGYxN2JlNjQwZDdlL3RhYmxlOjc4MTljZWU0ZmZmYzRhYjFhNjM0YzNiY2IyOTY4ZjBiL3RhYmxlcmFuZ2U6NzgxOWNlZTRmZmZjNGFiMWE2MzRjM2JjYjI5NjhmMGJfMTAtNS0xLTEtMA_1af8b879-589d-4303-b2f0-3db1d2b94838"
      unitRef="usd">-8240000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RleHRyZWdpb246YzYzZmZhZGQzZTE4NDc1N2E4YmY3NTQ4OThiY2Q5MjJfMjYyOQ_5e40ae6c-ed21-48fa-a880-13e1f5272ea4">Revenue Recognition&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt"&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:67.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.830%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.630%"/&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 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="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:10pt;font-weight:700;line-height:100%"&gt;Three-months Ended&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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&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="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;Americas&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-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:700;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:700;line-height:100%"&gt;107,836&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;60,247&#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="display:none"/&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Europe&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:700;line-height:100%"&gt;57,048&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater China&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:700;line-height:100%"&gt;38,238&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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="display:none"/&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Asia&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:700;line-height:100%"&gt;35,905&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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: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;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:700;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:700;line-height:100%"&gt;239,027&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;167,235&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&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 summarizes disaggregated revenue information by revenue type (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.830%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.630%"/&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 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="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:10pt;font-weight:700;line-height:100%"&gt;Three-months Ended&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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&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="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;Standard products and services&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-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:700;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:700;line-height:100%"&gt;222,326&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;152,854&#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="display:none"/&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Application-specific customer solutions&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:700;line-height:100%"&gt;16,701&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,381&#160;&lt;/span&gt;&lt;/td&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;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: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;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:700;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:700;line-height:100%"&gt;239,027&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;167,235&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Costs to Fulfill a Contract&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $14,789,000 and $6,846,000 as of April&#160;4, 2021 and December&#160;31, 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Accounts Receivable, Contract Assets, and Contract Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value. The Company maintains an allowance against its accounts receivable for credit losses. Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts. Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;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 summarizes the allowance for credit losses activity for the three-month period ended April&#160;4, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.341%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.459%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;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, 2020&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;831&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increases to the allowance for credit losses&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 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Write-offs &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;(33)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign exchange rate changes&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;Balance as of April 4, 2021&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:700;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:700;line-height:100%"&gt;798&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the deferred revenue and customer deposits activity for the three-month period ended April&#160;4, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.341%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.459%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;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, 2020&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;21,274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferral of revenue billed in the current period, net of recognition&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,380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recognition of revenue deferred in prior periods&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;(7,757)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign exchange rate changes&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;(237)&lt;/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;Balance as of April 4, 2021&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:700;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:700;line-height:100%"&gt;51,660&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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 a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RleHRyZWdpb246YzYzZmZhZGQzZTE4NDc1N2E4YmY3NTQ4OThiY2Q5MjJfMjYyNA_f588a243-e1fb-42a6-9e59-a11e16b0bc9d">&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt"&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:67.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.830%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.630%"/&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 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="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:10pt;font-weight:700;line-height:100%"&gt;Three-months Ended&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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&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="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;Americas&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-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:700;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:700;line-height:100%"&gt;107,836&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;60,247&#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="display:none"/&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Europe&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:700;line-height:100%"&gt;57,048&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater China&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:700;line-height:100%"&gt;38,238&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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="display:none"/&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Asia&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:700;line-height:100%"&gt;35,905&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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: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;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:700;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:700;line-height:100%"&gt;239,027&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;167,235&#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="display:none"/&gt;&lt;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:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i465e6939762640b4a0feb2ed019d230e_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjM4YzU2Nzk2NjBmYTQ0OTY4YTUxMjI3MWM1OTg4Mzc4L3RhYmxlcmFuZ2U6MzhjNTY3OTY2MGZhNDQ5NjhhNTEyMjcxYzU5ODgzNzhfMi0yLTEtMS0w_ee91092b-2ae6-4532-8670-e13d9715f948"
      unitRef="usd">107836000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i90326d54ed254075a5fff9cf7f08c6a8_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjM4YzU2Nzk2NjBmYTQ0OTY4YTUxMjI3MWM1OTg4Mzc4L3RhYmxlcmFuZ2U6MzhjNTY3OTY2MGZhNDQ5NjhhNTEyMjcxYzU5ODgzNzhfMi00LTEtMS0w_eca6a29b-e41d-4179-994b-a938e5665503"
      unitRef="usd">60247000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib0152801a105496eac4bf24f4f1916b0_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjM4YzU2Nzk2NjBmYTQ0OTY4YTUxMjI3MWM1OTg4Mzc4L3RhYmxlcmFuZ2U6MzhjNTY3OTY2MGZhNDQ5NjhhNTEyMjcxYzU5ODgzNzhfMy0yLTEtMS0w_62baf29f-bf99-4d9b-bfd5-16e21d3dc634"
      unitRef="usd">57048000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i411400d1fb5a4170b2bceeb86e4473e8_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjM4YzU2Nzk2NjBmYTQ0OTY4YTUxMjI3MWM1OTg4Mzc4L3RhYmxlcmFuZ2U6MzhjNTY3OTY2MGZhNDQ5NjhhNTEyMjcxYzU5ODgzNzhfMy00LTEtMS0w_12d62878-f441-4977-9577-a55f872cc115"
      unitRef="usd">48582000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic9a181f140dc485e87e17d9f6805c727_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjM4YzU2Nzk2NjBmYTQ0OTY4YTUxMjI3MWM1OTg4Mzc4L3RhYmxlcmFuZ2U6MzhjNTY3OTY2MGZhNDQ5NjhhNTEyMjcxYzU5ODgzNzhfNC0yLTEtMS0w_fe1265bf-563e-4cc5-ac79-903eee48b745"
      unitRef="usd">38238000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i71aae17860234a16917e6a053f12b8d8_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjM4YzU2Nzk2NjBmYTQ0OTY4YTUxMjI3MWM1OTg4Mzc4L3RhYmxlcmFuZ2U6MzhjNTY3OTY2MGZhNDQ5NjhhNTEyMjcxYzU5ODgzNzhfNC00LTEtMS0w_8fe36c24-1cdd-41bd-b2c4-9489da11c303"
      unitRef="usd">26403000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6bc36eff8cb446ac8b93a6c8dea77359_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjM4YzU2Nzk2NjBmYTQ0OTY4YTUxMjI3MWM1OTg4Mzc4L3RhYmxlcmFuZ2U6MzhjNTY3OTY2MGZhNDQ5NjhhNTEyMjcxYzU5ODgzNzhfNS0yLTEtMS0w_5418f6bc-0bbd-4f79-8079-5a5a9acd26d5"
      unitRef="usd">35905000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8e449b85016146759db658cd9d595623_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjM4YzU2Nzk2NjBmYTQ0OTY4YTUxMjI3MWM1OTg4Mzc4L3RhYmxlcmFuZ2U6MzhjNTY3OTY2MGZhNDQ5NjhhNTEyMjcxYzU5ODgzNzhfNS00LTEtMS0w_9561a550-af62-444c-93be-a0d73390704e"
      unitRef="usd">32003000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjM4YzU2Nzk2NjBmYTQ0OTY4YTUxMjI3MWM1OTg4Mzc4L3RhYmxlcmFuZ2U6MzhjNTY3OTY2MGZhNDQ5NjhhNTEyMjcxYzU5ODgzNzhfNi0yLTEtMS0w_1bdfc79f-c048-4a0c-87c2-9116dd78bc56"
      unitRef="usd">239027000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjM4YzU2Nzk2NjBmYTQ0OTY4YTUxMjI3MWM1OTg4Mzc4L3RhYmxlcmFuZ2U6MzhjNTY3OTY2MGZhNDQ5NjhhNTEyMjcxYzU5ODgzNzhfNi00LTEtMS0w_d6e8448d-ff04-4034-8b6a-93f3efd47626"
      unitRef="usd">167235000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RleHRyZWdpb246YzYzZmZhZGQzZTE4NDc1N2E4YmY3NTQ4OThiY2Q5MjJfMjYzNQ_3cd274be-1836-4c8b-856a-3024b4729851">&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 summarizes disaggregated revenue information by revenue type (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.830%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.630%"/&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 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="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:10pt;font-weight:700;line-height:100%"&gt;Three-months Ended&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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&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="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;Standard products and services&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-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:700;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:700;line-height:100%"&gt;222,326&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;152,854&#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="display:none"/&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Application-specific customer solutions&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:700;line-height:100%"&gt;16,701&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,381&#160;&lt;/span&gt;&lt;/td&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;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: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;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:700;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:700;line-height:100%"&gt;239,027&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;167,235&#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="display:none"/&gt;&lt;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:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i60ec7c5bcec14050ab2536a99e9e5c46_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjE4OGIyN2ZkNzZmZTQyZWQ5OTgxZmI0ZTU3NDNkNGUzL3RhYmxlcmFuZ2U6MTg4YjI3ZmQ3NmZlNDJlZDk5ODFmYjRlNTc0M2Q0ZTNfMi0yLTEtMS0w_9646e738-2b19-4c01-afac-e9b1fe75b7dc"
      unitRef="usd">222326000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i420312e2c3e644e0bbc82b922f320062_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjE4OGIyN2ZkNzZmZTQyZWQ5OTgxZmI0ZTU3NDNkNGUzL3RhYmxlcmFuZ2U6MTg4YjI3ZmQ3NmZlNDJlZDk5ODFmYjRlNTc0M2Q0ZTNfMi00LTEtMS0w_7c21ee11-e63e-4edd-b47d-5351e011f7be"
      unitRef="usd">152854000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6a19abb04ef54d3f95f986347cc48c95_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjE4OGIyN2ZkNzZmZTQyZWQ5OTgxZmI0ZTU3NDNkNGUzL3RhYmxlcmFuZ2U6MTg4YjI3ZmQ3NmZlNDJlZDk5ODFmYjRlNTc0M2Q0ZTNfMy0yLTEtMS0w_f72f4d8b-6927-4b53-b657-a0af6dd460e8"
      unitRef="usd">16701000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia9cc34bf84c548ccaaf6b97a8c47776f_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjE4OGIyN2ZkNzZmZTQyZWQ5OTgxZmI0ZTU3NDNkNGUzL3RhYmxlcmFuZ2U6MTg4YjI3ZmQ3NmZlNDJlZDk5ODFmYjRlNTc0M2Q0ZTNfMy00LTEtMS0w_eeb0f74a-6a87-453e-985c-fd04d352a124"
      unitRef="usd">14381000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjE4OGIyN2ZkNzZmZTQyZWQ5OTgxZmI0ZTU3NDNkNGUzL3RhYmxlcmFuZ2U6MTg4YjI3ZmQ3NmZlNDJlZDk5ODFmYjRlNTc0M2Q0ZTNfNC0yLTEtMS0w_6c10ac4d-b0a2-4b4e-b3d0-953456f7237a"
      unitRef="usd">239027000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOjE4OGIyN2ZkNzZmZTQyZWQ5OTgxZmI0ZTU3NDNkNGUzL3RhYmxlcmFuZ2U6MTg4YjI3ZmQ3NmZlNDJlZDk5ODFmYjRlNTc0M2Q0ZTNfNC00LTEtMS0w_f9f90771-fb2b-4640-bc5d-ec464ad5c8af"
      unitRef="usd">167235000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CapitalizedContractCostGross
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RleHRyZWdpb246YzYzZmZhZGQzZTE4NDc1N2E4YmY3NTQ4OThiY2Q5MjJfNDUx_ef4a3cac-903d-4f3a-92b8-64a890ef6901"
      unitRef="usd">14789000</us-gaap:CapitalizedContractCostGross>
    <us-gaap:CapitalizedContractCostGross
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RleHRyZWdpb246YzYzZmZhZGQzZTE4NDc1N2E4YmY3NTQ4OThiY2Q5MjJfNDU4_81d3a3e9-a2fa-4f9b-b211-64fa2ccf341a"
      unitRef="usd">6846000</us-gaap:CapitalizedContractCostGross>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RleHRyZWdpb246YzYzZmZhZGQzZTE4NDc1N2E4YmY3NTQ4OThiY2Q5MjJfMjYyNg_4f490cf7-2fbc-4ad0-bdaa-d5c4e27b394d">&lt;div style="margin-top:3pt;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 summarizes the allowance for credit losses activity for the three-month period ended April&#160;4, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.341%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.459%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;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, 2020&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;831&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increases to the allowance for credit losses&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 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Write-offs &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;(33)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign exchange rate changes&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;Balance as of April 4, 2021&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:700;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:700;line-height:100%"&gt;798&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOmRmOTMyYWEyOTAzNzRlMTNiNDNlNjI3NGNiOTE4YTlhL3RhYmxlcmFuZ2U6ZGY5MzJhYTI5MDM3NGUxM2I0M2U2Mjc0Y2I5MThhOWFfMC0xLTEtMS0w_d2281253-497f-4c2c-8dc4-9612d450e99b"
      unitRef="usd">831000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOmRmOTMyYWEyOTAzNzRlMTNiNDNlNjI3NGNiOTE4YTlhL3RhYmxlcmFuZ2U6ZGY5MzJhYTI5MDM3NGUxM2I0M2U2Mjc0Y2I5MThhOWFfMS0xLTEtMS0w_f07840d3-28e0-4d58-8701-bcec260abf24"
      unitRef="usd">0</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOmRmOTMyYWEyOTAzNzRlMTNiNDNlNjI3NGNiOTE4YTlhL3RhYmxlcmFuZ2U6ZGY5MzJhYTI5MDM3NGUxM2I0M2U2Mjc0Y2I5MThhOWFfMi0xLTEtMS0w_09ce935f-36e9-4b08-ab61-dd574e8b4382"
      unitRef="usd">33000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <cgnx:AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOmRmOTMyYWEyOTAzNzRlMTNiNDNlNjI3NGNiOTE4YTlhL3RhYmxlcmFuZ2U6ZGY5MzJhYTI5MDM3NGUxM2I0M2U2Mjc0Y2I5MThhOWFfMy0xLTEtMS0w_dfc1d56b-235a-45ad-9165-7b53336a1f20"
      unitRef="usd">0</cgnx:AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOmRmOTMyYWEyOTAzNzRlMTNiNDNlNjI3NGNiOTE4YTlhL3RhYmxlcmFuZ2U6ZGY5MzJhYTI5MDM3NGUxM2I0M2U2Mjc0Y2I5MThhOWFfNC0xLTEtMS0w_4289dd6c-f31b-491a-93ea-ff509ff38b08"
      unitRef="usd">798000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:DeferredRevenueByArrangementDisclosureTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RleHRyZWdpb246YzYzZmZhZGQzZTE4NDc1N2E4YmY3NTQ4OThiY2Q5MjJfMjYyNw_1e9c7b92-532a-4108-a805-44f6cb980f1f">&lt;div style="margin-top:3pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the deferred revenue and customer deposits activity for the three-month period ended April&#160;4, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.341%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.459%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;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, 2020&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;21,274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferral of revenue billed in the current period, net of recognition&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,380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recognition of revenue deferred in prior periods&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;(7,757)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign exchange rate changes&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;(237)&lt;/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;Balance as of April 4, 2021&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:700;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:700;line-height:100%"&gt;51,660&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:DeferredRevenueByArrangementDisclosureTextBlock>
    <us-gaap:DeferredRevenue
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOmQ4NDE2YzBmNmJmNzRlNWQ4OWMxY2ViMjIzYzYwZjUwL3RhYmxlcmFuZ2U6ZDg0MTZjMGY2YmY3NGU1ZDg5YzFjZWIyMjNjNjBmNTBfMC0xLTEtMS0w_94c15c61-545f-4978-99df-8f660fb12c1a"
      unitRef="usd">21274000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenueAdditions
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOmQ4NDE2YzBmNmJmNzRlNWQ4OWMxY2ViMjIzYzYwZjUwL3RhYmxlcmFuZ2U6ZDg0MTZjMGY2YmY3NGU1ZDg5YzFjZWIyMjNjNjBmNTBfMS0xLTEtMS0w_36a8a5b6-fc9f-4bbb-a0dc-40636e0eb4b4"
      unitRef="usd">38380000</us-gaap:DeferredRevenueAdditions>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOmQ4NDE2YzBmNmJmNzRlNWQ4OWMxY2ViMjIzYzYwZjUwL3RhYmxlcmFuZ2U6ZDg0MTZjMGY2YmY3NGU1ZDg5YzFjZWIyMjNjNjBmNTBfMi0xLTEtMS0w_cdf26925-b89f-426b-9cc4-5d31b706a013"
      unitRef="usd">7757000</us-gaap:DeferredRevenueRevenueRecognized1>
    <cgnx:DeferredRevenueForeignCurrencyExchangeAdjustment
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOmQ4NDE2YzBmNmJmNzRlNWQ4OWMxY2ViMjIzYzYwZjUwL3RhYmxlcmFuZ2U6ZDg0MTZjMGY2YmY3NGU1ZDg5YzFjZWIyMjNjNjBmNTBfMy0xLTEtMS0w_48cc7b3f-a63d-41d7-af4d-e5154daf7ea5"
      unitRef="usd">-237000</cgnx:DeferredRevenueForeignCurrencyExchangeAdjustment>
    <us-gaap:DeferredRevenue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83My9mcmFnOmM2M2ZmYWRkM2UxODQ3NTdhOGJmNzU0ODk4YmNkOTIyL3RhYmxlOmQ4NDE2YzBmNmJmNzRlNWQ4OWMxY2ViMjIzYzYwZjUwL3RhYmxlcmFuZ2U6ZDg0MTZjMGY2YmY3NGU1ZDg5YzFjZWIyMjNjNjBmNTBfNC0xLTEtMS0w_6fff7a61-80e7-46ac-8976-afa1ef73f5eb"
      unitRef="usd">51660000</us-gaap:DeferredRevenue>
    <us-gaap:CompensationRelatedCostsGeneralTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNTA3OQ_cde8cac5-a41a-4199-b8c5-0ceb47939397">Stock-Based Compensation Expense&lt;div style="margin-top:6pt;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;Stock Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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&#x2019;s stock-based awards that result in compensation expense consist of stock options and restricted stock units ("RSUs"). As of April&#160;4, 2021, the Company had 15,650,000 shares available for grant under its stock plans. Stock options are granted with an exercise price equal to the market value of the Company&#x2019;s common stock at the grant date and generally vest over &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNDE4_c176f72a-05ff-4adb-8e5d-1c1fdca284ae"&gt;four&lt;/span&gt; or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon three years of continuous employment or incrementally over such three-year period. Participants are not entitled to dividends on RSUs. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 summarizes the Company&#x2019;s stock option activity for the three-month period ended April&#160;4, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.699%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.273%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.126%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.983%"/&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:10pt;font-weight:700;line-height:100%"&gt;Shares&lt;br/&gt;(in&#160;thousands)&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:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&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:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Term&#160;(in&#160;years)&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:10pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;br/&gt;(in&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,970&#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;44.73&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(897)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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.82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited or expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(42)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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.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 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:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;8,452&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;47.62&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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:700;line-height:100%"&gt;7.11&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:700;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:700;line-height:100%"&gt;312,675&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/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;Exercisable as of April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;3,824&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top: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:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top: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:700;line-height:100%"&gt;38.18&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:700;line-height:100%"&gt;5.92&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-top: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:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top: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:700;line-height:100%"&gt;176,405&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;Options vested or expected to vest as of April 4, 2021 (1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;7,733&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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:700;line-height:100%"&gt;46.78&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #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:700;line-height:100%"&gt;7.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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:700;line-height:100%"&gt;292,344&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;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;&#160;(1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.198%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&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 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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three-months&#160;Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 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:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&lt;/span&gt;&lt;/td&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="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;Risk-free rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;1.3&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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.6&#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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&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:700;line-height:100%"&gt;0.27&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#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="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;Expected volatility&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:700;line-height:100%"&gt;39&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/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:700;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;37&#160;&lt;/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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&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:700;line-height:100%"&gt;5.7&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;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;6.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Risk-free rate&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Expected dividend yield&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company&#x2019;s Board of Directors and dividing that result by the closing stock price on the grant date.&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Expected volatility&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 expected volatility was based upon a combination of historical volatility of&#160;the Company&#x2019;s common stock over the contractual term of the option and implied volatility for traded options of the Company&#x2019;s stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Expected term&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 weighted-average grant-date fair values of stock options granted during the three-month periods ended April&#160;4, 2021 and March&#160;29, 2020 were $33.63 and $18.46, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 total intrinsic values of stock options exercised for the three-month periods ended April&#160;4, 2021 and March&#160;29, 2020 were $42,327,000 and $14,454,000, respectively. The total fair values of stock options vested for the three-month periods ended April&#160;4, 2021 and March&#160;29, 2020 were $35,600,000 and $36,664,000, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Stock Units (RSUs)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 summarizes the Company's RSUs activity for the three-month period ended April&#160;4, 2021: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.712%"/&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:14.838%"/&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:10pt;font-weight:700;line-height:100%"&gt;Shares&lt;br/&gt;(in thousands)&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:10pt;font-weight:700;line-height:100%"&gt;Weighted-Average &lt;br/&gt;Grant Date Fair 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;Nonvested as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;554&#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;51.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89.86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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.94&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited or expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;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;Nonvested as of April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;782&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:700;line-height:100%"&gt;63.33&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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="margin-top:1pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 weighted-average grant-date fair values of RSUs granted during the three-month periods ended April&#160;4, 2021 and March&#160;29, 2020 were $89.86 and $50.94, respectively. There were 2,000 RSUs that vested during the three-month period ended April&#160;4, 2021 and no RSUs that vested during the three-month period ended March&#160;29, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Stock-Based Compensation Expense&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 segments its employee population into two groups: one consisting of senior management and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of 8% to all stock-based awards for senior management and a rate of 12% for all other employees. Each year during the first quarter, the Company revises its forfeiture rate based on updated estimates of employee turnover. This resulted in a decrease to compensation expense of $255,000 in 2021 and an increase to compensation expense of $1,787,000 in 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 April&#160;4, 2021, total unrecognized compensation expense related to non-vested equity awards, including stock options and RSUs, was $69,821,000, which is expected to be recognized over a weighted-average period of 2.0 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended April&#160;4, 2021 were $12,009,000 and $1,813,000, respectively, and for the three-month period ended March&#160;29, 2020, were $14,790,000 and $2,564,000, respectively. No compensation expense was capitalized as of April&#160;4, 2021 or December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.198%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&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 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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three-months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 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:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&lt;/span&gt;&lt;/td&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="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;Cost of revenue&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:700;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:700;line-height:100%"&gt;248&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;354&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research, development, and engineering&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:700;line-height:100%"&gt;4,003&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,366&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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="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;Selling, general, and administrative&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:700;line-height:100%"&gt;7,758&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,070&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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="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: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:700;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:700;line-height:100%"&gt;12,009&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;14,790&#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 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:CompensationRelatedCostsGeneralTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i645be67ff8ae47e4a704fa927e363149_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMjE3_b9c8c4ab-b864-4e16-b1d1-1c2bc2ee014d"
      unitRef="shares">15650000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ib40633a756c442b883c7e8bde7ef1f74_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNDI0_a4b63155-be33-4d7a-9a4a-64001a98b291">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <cgnx:ExpirationPeriodOfStockOptionPlan
      contextRef="i06f672f8504e48f796277d72547da719_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNDY4_fbb7433c-1bab-44c0-afe5-e1a9fc0bfb4e">P10Y</cgnx:ExpirationPeriodOfStockOptionPlan>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i38a1d6d2d64f4871ae88177022601b52_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNTE4_f8a314a9-bcba-497b-b899-b4c99f4a2d7c">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNTA3NQ_5499a196-345c-44ee-957d-f0ce02134d93">&lt;div style="margin-top:6pt;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 summarizes the Company&#x2019;s stock option activity for the three-month period ended April&#160;4, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.699%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.273%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.126%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.983%"/&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:10pt;font-weight:700;line-height:100%"&gt;Shares&lt;br/&gt;(in&#160;thousands)&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:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&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:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Term&#160;(in&#160;years)&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:10pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;br/&gt;(in&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,970&#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;44.73&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(897)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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.82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited or expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(42)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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.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 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:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;8,452&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;line-height:100%"&gt;47.62&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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:700;line-height:100%"&gt;7.11&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:700;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:700;line-height:100%"&gt;312,675&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/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;Exercisable as of April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;3,824&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top: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:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top: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:700;line-height:100%"&gt;38.18&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:700;line-height:100%"&gt;5.92&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-top: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:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top: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:700;line-height:100%"&gt;176,405&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;Options vested or expected to vest as of April 4, 2021 (1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;7,733&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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:700;line-height:100%"&gt;46.78&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #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:700;line-height:100%"&gt;7.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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:700;line-height:100%"&gt;292,344&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;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;&#160;(1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfMS0xLTEtMS0w_e85e5a14-30c7-40f7-8c1d-4052418c1dfb"
      unitRef="shares">8970000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfMS0zLTEtMS0w_9c24054e-df0a-4b6b-988a-5bc0e735b672"
      unitRef="usdPerShare">44.73</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfMi0xLTEtMS0w_fd8f4920-ab28-4787-be88-51e0663cb6de"
      unitRef="shares">421000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfMi0zLTEtMS0w_547e9569-3302-41e1-a082-cf409244245e"
      unitRef="usdPerShare">90.50</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfMy0xLTEtMS0w_e7f0c3dc-bd21-49fd-b2e2-14dda665809d"
      unitRef="shares">897000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfMy0zLTEtMS0w_a544c3ed-8434-4601-b60c-cdc6aa65dc6a"
      unitRef="usdPerShare">38.82</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNC0xLTEtMS0w_eab6570e-ae8c-49c6-a5b9-a97a4c4140fb"
      unitRef="shares">42000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNC0zLTEtMS0w_17449adb-ca89-4484-ab9c-93fc22428ae5"
      unitRef="usdPerShare">48.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNS0xLTEtMS0w_13037495-fbfa-40b4-9883-c7a24039453e"
      unitRef="shares">8452000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNS0zLTEtMS0w_1059b902-131f-49d9-a072-89ddc576da2c"
      unitRef="usdPerShare">47.62</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNS01LTEtMS0w_edd69762-07c8-45c3-96f9-685c8b8c3bba">P7Y1M9D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNS03LTEtMS0w_d029241e-b344-4b95-b74b-acba5652182a"
      unitRef="usd">312675000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNi0xLTEtMS0w_87e312e2-4bf5-4e78-b55b-c6f16c8c012f"
      unitRef="shares">3824000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNi0zLTEtMS0w_251b67ed-8bf6-495e-af9f-6fb750397cde"
      unitRef="usdPerShare">38.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNi01LTEtMS0w_cf9f1b25-edc9-476c-9f35-be14f7d110b1">P5Y11M1D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNi03LTEtMS0w_3cedb95b-4462-4389-8cfd-13eaecd91d32"
      unitRef="usd">176405000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNy0xLTEtMS0w_4256256c-8123-42d9-8372-b07a97bdd27a"
      unitRef="shares">7733000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNy0zLTEtMS0w_1de4c015-5716-4071-b4a3-81261932155c"
      unitRef="usdPerShare">46.78</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNy01LTEtMS0w_79eaf8a9-ec0b-42bd-8416-e18031b95cf8">P7Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOmU1NDU4ODhhMmE3YTQ3ZjJiM2MzMTcwMGJhNjhhZmI2L3RhYmxlcmFuZ2U6ZTU0NTg4OGEyYTdhNDdmMmIzYzMxNzAwYmE2OGFmYjZfNy03LTEtMS0w_c9a18a32-5a82-4c83-b74a-9f4ae345f7e4"
      unitRef="usd">292344000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNTA1NA_27ba142f-9fe9-40c8-9013-7f6945bc2885">&lt;div style="margin-top:6pt;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 fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.198%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&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 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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three-months&#160;Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 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:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&lt;/span&gt;&lt;/td&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="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;Risk-free rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;1.3&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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.6&#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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&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:700;line-height:100%"&gt;0.27&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#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="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;Expected volatility&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:700;line-height:100%"&gt;39&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/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:700;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;37&#160;&lt;/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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&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:700;line-height:100%"&gt;5.7&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;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;6.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjkzNDIyN2UwNTkzODRhYTFiNTNkYTUzMGIwMzNhOTI2L3RhYmxlcmFuZ2U6OTM0MjI3ZTA1OTM4NGFhMWI1M2RhNTMwYjAzM2E5MjZfMi0xLTEtMS0w_43ddac5e-8b36-49ea-8d25-82ad69a6465d"
      unitRef="number">0.013</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjkzNDIyN2UwNTkzODRhYTFiNTNkYTUzMGIwMzNhOTI2L3RhYmxlcmFuZ2U6OTM0MjI3ZTA1OTM4NGFhMWI1M2RhNTMwYjAzM2E5MjZfMi0zLTEtMS0w_79859e65-c397-4ebc-b9fe-18b5feee18c0"
      unitRef="number">0.016</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjkzNDIyN2UwNTkzODRhYTFiNTNkYTUzMGIwMzNhOTI2L3RhYmxlcmFuZ2U6OTM0MjI3ZTA1OTM4NGFhMWI1M2RhNTMwYjAzM2E5MjZfMy0xLTEtMS0w_5fba8795-597a-4c70-902d-6b7b0747002e"
      unitRef="number">0.0027</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjkzNDIyN2UwNTkzODRhYTFiNTNkYTUzMGIwMzNhOTI2L3RhYmxlcmFuZ2U6OTM0MjI3ZTA1OTM4NGFhMWI1M2RhNTMwYjAzM2E5MjZfMy0zLTEtMS0w_e83d2dcf-97da-4b8a-9dd7-e60eed77883f"
      unitRef="number">0.0043</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjkzNDIyN2UwNTkzODRhYTFiNTNkYTUzMGIwMzNhOTI2L3RhYmxlcmFuZ2U6OTM0MjI3ZTA1OTM4NGFhMWI1M2RhNTMwYjAzM2E5MjZfNC0xLTEtMS0w_30293f96-d1d7-4348-b146-7dad1e9ad633"
      unitRef="number">0.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjkzNDIyN2UwNTkzODRhYTFiNTNkYTUzMGIwMzNhOTI2L3RhYmxlcmFuZ2U6OTM0MjI3ZTA1OTM4NGFhMWI1M2RhNTMwYjAzM2E5MjZfNC0zLTEtMS0w_5a24f099-673f-4a40-83bf-8f2d6ba66e1e"
      unitRef="number">0.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjkzNDIyN2UwNTkzODRhYTFiNTNkYTUzMGIwMzNhOTI2L3RhYmxlcmFuZ2U6OTM0MjI3ZTA1OTM4NGFhMWI1M2RhNTMwYjAzM2E5MjZfNS0xLTEtMS0w_8a09192b-c0f0-4477-9370-cf6f25000c70">P5Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjkzNDIyN2UwNTkzODRhYTFiNTNkYTUzMGIwMzNhOTI2L3RhYmxlcmFuZ2U6OTM0MjI3ZTA1OTM4NGFhMWI1M2RhNTMwYjAzM2E5MjZfNS0zLTEtMS0w_38a0e9c0-2268-47ca-9711-81f247c54a6d">P6Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMTA5OTUxMTYzMzI4Nw_16b9482b-d760-4242-8a2e-d017d62923a5"
      unitRef="usdPerShare">33.63</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMjE0Mw_137579a1-1fbd-40cf-a112-2594d5ec9907"
      unitRef="usdPerShare">18.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMjQyNw_a3032566-a2e8-45c0-8508-be1bf66418f5"
      unitRef="usd">42327000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
    <cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMjQzNA_d2929196-507f-4c99-9f9c-41b4246cbf35"
      unitRef="usd">14454000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
    <cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMjcwNw_09092c03-81fb-43cc-a6b5-974ee3771c10"
      unitRef="usd">35600000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
    <cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMjcxNA_e2dfa204-6ffd-4ad6-98bf-3cd3eefa7406"
      unitRef="usd">36664000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
    <us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNTA2Mw_991e9d82-e6ab-49c4-a64e-e2dfc0d92b64">&lt;div style="margin-top:6pt;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 summarizes the Company's RSUs activity for the three-month period ended April&#160;4, 2021: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.712%"/&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:14.838%"/&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:10pt;font-weight:700;line-height:100%"&gt;Shares&lt;br/&gt;(in thousands)&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:10pt;font-weight:700;line-height:100%"&gt;Weighted-Average &lt;br/&gt;Grant Date Fair 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;Nonvested as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;554&#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;51.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89.86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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.94&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited or expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;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;Nonvested as of April 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;782&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:700;line-height:100%"&gt;63.33&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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;</us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i7e263b18a42342a59e8fcf96793d2d90_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjAwOGRjZjYyZTk5NDRmNWY4MzZlNDc3NzY4MWUxOTc3L3RhYmxlcmFuZ2U6MDA4ZGNmNjJlOTk0NGY1ZjgzNmU0Nzc3NjgxZTE5NzdfMS0xLTEtMS0w_6097c25b-6747-43e0-a795-e7fa0d00d720"
      unitRef="shares">554000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i7e263b18a42342a59e8fcf96793d2d90_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjAwOGRjZjYyZTk5NDRmNWY4MzZlNDc3NzY4MWUxOTc3L3RhYmxlcmFuZ2U6MDA4ZGNmNjJlOTk0NGY1ZjgzNmU0Nzc3NjgxZTE5NzdfMS0zLTEtMS0w_9ef2c05d-0370-40d2-a417-79b9605d4681"
      unitRef="usdPerShare">51.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ib872f17c8dcb4a00b384383835cd278b_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjAwOGRjZjYyZTk5NDRmNWY4MzZlNDc3NzY4MWUxOTc3L3RhYmxlcmFuZ2U6MDA4ZGNmNjJlOTk0NGY1ZjgzNmU0Nzc3NjgxZTE5NzdfMi0xLTEtMS0w_05a9956b-f084-46e4-b2f0-e87d0f2159a8"
      unitRef="shares">245000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ib872f17c8dcb4a00b384383835cd278b_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjAwOGRjZjYyZTk5NDRmNWY4MzZlNDc3NzY4MWUxOTc3L3RhYmxlcmFuZ2U6MDA4ZGNmNjJlOTk0NGY1ZjgzNmU0Nzc3NjgxZTE5NzdfMi0zLTEtMS0w_26beba11-33e7-4da3-ac9e-d703df12131c"
      unitRef="usdPerShare">89.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ib872f17c8dcb4a00b384383835cd278b_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjAwOGRjZjYyZTk5NDRmNWY4MzZlNDc3NzY4MWUxOTc3L3RhYmxlcmFuZ2U6MDA4ZGNmNjJlOTk0NGY1ZjgzNmU0Nzc3NjgxZTE5NzdfMy0xLTEtMS0w_8bab8bfa-e54d-483f-b849-384114a51348"
      unitRef="shares">2000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ib872f17c8dcb4a00b384383835cd278b_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjAwOGRjZjYyZTk5NDRmNWY4MzZlNDc3NzY4MWUxOTc3L3RhYmxlcmFuZ2U6MDA4ZGNmNjJlOTk0NGY1ZjgzNmU0Nzc3NjgxZTE5NzdfMy0zLTEtMS0w_30e13ba1-1c21-4df6-9399-d4516204d2ac"
      unitRef="usdPerShare">50.94</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ib872f17c8dcb4a00b384383835cd278b_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjAwOGRjZjYyZTk5NDRmNWY4MzZlNDc3NzY4MWUxOTc3L3RhYmxlcmFuZ2U6MDA4ZGNmNjJlOTk0NGY1ZjgzNmU0Nzc3NjgxZTE5NzdfNC0xLTEtMS0w_08dcdb90-9b84-420d-857e-062c2e33a051"
      unitRef="shares">15000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ib872f17c8dcb4a00b384383835cd278b_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjAwOGRjZjYyZTk5NDRmNWY4MzZlNDc3NzY4MWUxOTc3L3RhYmxlcmFuZ2U6MDA4ZGNmNjJlOTk0NGY1ZjgzNmU0Nzc3NjgxZTE5NzdfNC0zLTEtMS0w_6344b177-1f37-4f26-8f36-6750a2766bc1"
      unitRef="usdPerShare">52.22</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i50af543cc70f4b7181d55bb33f325048_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjAwOGRjZjYyZTk5NDRmNWY4MzZlNDc3NzY4MWUxOTc3L3RhYmxlcmFuZ2U6MDA4ZGNmNjJlOTk0NGY1ZjgzNmU0Nzc3NjgxZTE5NzdfNS0xLTEtMS0w_c616b6d1-f183-4cb1-810a-f405c66f8578"
      unitRef="shares">782000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i50af543cc70f4b7181d55bb33f325048_I20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjAwOGRjZjYyZTk5NDRmNWY4MzZlNDc3NzY4MWUxOTc3L3RhYmxlcmFuZ2U6MDA4ZGNmNjJlOTk0NGY1ZjgzNmU0Nzc3NjgxZTE5NzdfNS0zLTEtMS0w_b003aa2e-7e24-4ac7-9d3b-ef82be209c4c"
      unitRef="usdPerShare">63.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ib872f17c8dcb4a00b384383835cd278b_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMzE3Mw_5c5d6ec6-012f-42b1-b24d-0f44cab25648"
      unitRef="usdPerShare">89.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i01cabcff17724f809a577845ea6347d1_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMzE4MA_564bb651-3a83-432e-8126-d8bfdfe21b98"
      unitRef="usdPerShare">50.94</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ib872f17c8dcb4a00b384383835cd278b_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMzM3OA_bb54fd7f-6dc5-498a-b2db-d262e91baa66"
      unitRef="shares">2000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i01cabcff17724f809a577845ea6347d1_D20200101-20200329"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMTA5OTUxMTYzNDUyMw_af7b5c93-5e1e-4a84-893c-9f6343ce0b41"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <cgnx:NumberOfGroupsWithinEmployeePopulation
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMzU3OQ_0936b284-0fd5-467c-a6de-7f03b5c39794"
      unitRef="group">2</cgnx:NumberOfGroupsWithinEmployeePopulation>
    <cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMzc0Mw_877e02b9-ddc9-40a4-9d7c-5c1c4d1ba1d6"
      unitRef="number">0.08</cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement>
    <cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMzgwOA_7dda46b3-471f-41d3-942c-671b3747f298"
      unitRef="number">0.12</cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement>
    <cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfMzk3MQ_a025bdbf-ce98-44c9-af27-e337a48065ce"
      unitRef="usd">255000</cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates>
    <cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNDAyNA_77995a08-1948-4ff4-9f72-f95db65efcd1"
      unitRef="usd">1787000</cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNDE2MQ_60057102-9461-4677-ba4a-34f5ffc339a6"
      unitRef="usd">69821000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <cgnx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNDIzNA_25e37413-076c-4ea8-ba64-ef7d510d9212">P2Y</cgnx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNDM3NA_9ea5d153-c842-4cf9-aa35-9660ccd90b34"
      unitRef="usd">12009000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNDM4MQ_120eba6e-abac-474c-9340-11a6e209136f"
      unitRef="usd">1813000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNDQ0NA_031e58f4-133c-4464-b07b-e193076c7f34"
      unitRef="usd">14790000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNDQ1MQ_35f926ee-4bba-44a3-b914-cc095526fc96"
      unitRef="usd">2564000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount
      contextRef="i96a729a06ce741cf8ea8a01ec285035b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNDgzMw_832a52ae-90fc-49b3-8dd4-86b62540dc3f"
      unitRef="usd">0</cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount>
    <cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNDgzMw_b3489b93-b548-4bce-b3e8-1af7a5b081cd"
      unitRef="usd">0</cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RleHRyZWdpb246ODQxYjNhNDI4NWNiNGRjYmIxNDNlNDk5MDgwMjU1MTVfNTA2NA_636f6138-937a-4db4-bde2-7d0b96c9cf62">&lt;div style="margin-top:6pt;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 stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.198%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&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 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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three-months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 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:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&lt;/span&gt;&lt;/td&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="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;Cost of revenue&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:700;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:700;line-height:100%"&gt;248&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;354&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research, development, and engineering&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:700;line-height:100%"&gt;4,003&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,366&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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="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;Selling, general, and administrative&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:700;line-height:100%"&gt;7,758&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,070&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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="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: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:700;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:700;line-height:100%"&gt;12,009&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;14,790&#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 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:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i4e83fc70b30a4cf793dc27f07d57c5ba_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjZhYzNhNmQzZTgwNDRhY2RhNmUzZjA2OWY3ZmY2ZTRlL3RhYmxlcmFuZ2U6NmFjM2E2ZDNlODA0NGFjZGE2ZTNmMDY5ZjdmZjZlNGVfMi0xLTEtMS0w_d7342166-e999-47e8-831d-9d716d3435f4"
      unitRef="usd">248000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i051dcb472ea145cdac93ce32713e71f6_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjZhYzNhNmQzZTgwNDRhY2RhNmUzZjA2OWY3ZmY2ZTRlL3RhYmxlcmFuZ2U6NmFjM2E2ZDNlODA0NGFjZGE2ZTNmMDY5ZjdmZjZlNGVfMi0zLTEtMS0w_3514ac0e-237d-4051-bc20-67384f0932bc"
      unitRef="usd">354000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id4a3d024fc27485a8dc79d6e199f812f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjZhYzNhNmQzZTgwNDRhY2RhNmUzZjA2OWY3ZmY2ZTRlL3RhYmxlcmFuZ2U6NmFjM2E2ZDNlODA0NGFjZGE2ZTNmMDY5ZjdmZjZlNGVfMy0xLTEtMS0w_7ba81915-b21f-4e80-bc2a-9dde14316fb6"
      unitRef="usd">4003000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia83527240eba4b05b47733b7439f1b04_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjZhYzNhNmQzZTgwNDRhY2RhNmUzZjA2OWY3ZmY2ZTRlL3RhYmxlcmFuZ2U6NmFjM2E2ZDNlODA0NGFjZGE2ZTNmMDY5ZjdmZjZlNGVfMy0zLTEtMS0w_96ac8887-bd51-4bef-b864-16dd60ac0642"
      unitRef="usd">5366000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0c1cc0e573464ed1b15c43a2ee0eff70_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjZhYzNhNmQzZTgwNDRhY2RhNmUzZjA2OWY3ZmY2ZTRlL3RhYmxlcmFuZ2U6NmFjM2E2ZDNlODA0NGFjZGE2ZTNmMDY5ZjdmZjZlNGVfNC0xLTEtMS0w_b72ae147-fb5f-40f2-b94a-9b9199cd4f1f"
      unitRef="usd">7758000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i3e5fa6b20dc345929a9917ef706d89c6_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjZhYzNhNmQzZTgwNDRhY2RhNmUzZjA2OWY3ZmY2ZTRlL3RhYmxlcmFuZ2U6NmFjM2E2ZDNlODA0NGFjZGE2ZTNmMDY5ZjdmZjZlNGVfNC0zLTEtMS0w_be3389fc-aa73-44b9-9b3f-434aa82e6e34"
      unitRef="usd">9070000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjZhYzNhNmQzZTgwNDRhY2RhNmUzZjA2OWY3ZmY2ZTRlL3RhYmxlcmFuZ2U6NmFjM2E2ZDNlODA0NGFjZGE2ZTNmMDY5ZjdmZjZlNGVfNS0xLTEtMS0w_5d5644ed-73d9-45d2-8888-89cbf809550b"
      unitRef="usd">12009000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF83Ni9mcmFnOjg0MWIzYTQyODVjYjRkY2JiMTQzZTQ5OTA4MDI1NTE1L3RhYmxlOjZhYzNhNmQzZTgwNDRhY2RhNmUzZjA2OWY3ZmY2ZTRlL3RhYmxlcmFuZ2U6NmFjM2E2ZDNlODA0NGFjZGE2ZTNmMDY5ZjdmZjZlNGVfNS0zLTEtMS0w_a8f2b13a-f704-462a-b113-027dbb56127f"
      unitRef="usd">14790000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84Mi9mcmFnOjk5OTE4MjU3ZjNjNTRiMzZiN2Q5MGNmZGY4ZDRlZWE5L3RleHRyZWdpb246OTk5MTgyNTdmM2M1NGIzNmI3ZDkwY2ZkZjhkNGVlYTlfMTEwNA_c88bcc07-ea36-468a-844a-446f09cf6035">Stock Repurchase ProgramIn October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of April&#160;4, 2021, the Company repurchased 2,897,000 shares at a cost of $127,827,000 under this program, including 80,000 shares at a cost of $6,479,000 during the three-month period ended April&#160;4, 2021, leaving a remaining balance of $72,173,000. During the three-month period ended March&#160;29, 2020, 1,215,000 shares were repurchased at a cost of $51,036,000 under this October 2018 program. On March 12, 2020, the Company's Board of Directors authorized the repurchase of an additional $200,000,000 of the Company's common stock. Purchases under this March 2020 program will commence upon completion of the October 2018 program. The Company may repurchase shares under this program in future periods depending on a variety of factors, including, among other things, the impact of dilution from employee stock awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions.</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="iaebae8fcff574abba198396df9925f6e_I20181029"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84Mi9mcmFnOjk5OTE4MjU3ZjNjNTRiMzZiN2Q5MGNmZGY4ZDRlZWE5L3RleHRyZWdpb246OTk5MTgyNTdmM2M1NGIzNmI3ZDkwY2ZkZjhkNGVlYTlfMTE4_28aa68d8-e75b-4a34-ae1e-21299b59895a"
      unitRef="usd">200000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i3fcb5a67ba684bccbabf35700f782ec6_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84Mi9mcmFnOjk5OTE4MjU3ZjNjNTRiMzZiN2Q5MGNmZGY4ZDRlZWE5L3RleHRyZWdpb246OTk5MTgyNTdmM2M1NGIzNmI3ZDkwY2ZkZjhkNGVlYTlfMTg3_9af1f062-0730-4c67-b921-8914cc43a0ce"
      unitRef="shares">2897000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i3fcb5a67ba684bccbabf35700f782ec6_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84Mi9mcmFnOjk5OTE4MjU3ZjNjNTRiMzZiN2Q5MGNmZGY4ZDRlZWE5L3RleHRyZWdpb246OTk5MTgyNTdmM2M1NGIzNmI3ZDkwY2ZkZjhkNGVlYTlfMjEw_3d091c41-61d4-4a20-90a1-4070babcfa04"
      unitRef="usd">127827000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="i3fcb5a67ba684bccbabf35700f782ec6_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84Mi9mcmFnOjk5OTE4MjU3ZjNjNTRiMzZiN2Q5MGNmZGY4ZDRlZWE5L3RleHRyZWdpb246OTk5MTgyNTdmM2M1NGIzNmI3ZDkwY2ZkZjhkNGVlYTlfMjQz_4915316b-84ce-461d-b814-4b66b467dbd0"
      unitRef="shares">80000</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="i3fcb5a67ba684bccbabf35700f782ec6_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84Mi9mcmFnOjk5OTE4MjU3ZjNjNTRiMzZiN2Q5MGNmZGY4ZDRlZWE5L3RleHRyZWdpb246OTk5MTgyNTdmM2M1NGIzNmI3ZDkwY2ZkZjhkNGVlYTlfMjY2_938be9fc-c6b6-46f9-a53c-f88486f87055"
      unitRef="usd">6479000</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84Mi9mcmFnOjk5OTE4MjU3ZjNjNTRiMzZiN2Q5MGNmZGY4ZDRlZWE5L3RleHRyZWdpb246OTk5MTgyNTdmM2M1NGIzNmI3ZDkwY2ZkZjhkNGVlYTlfMzU1_30844ccb-9cad-4c83-a175-14c68b3594b8"
      unitRef="usd">72173000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="i56e59c1276764093b9af637918bed2a4_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84Mi9mcmFnOjk5OTE4MjU3ZjNjNTRiMzZiN2Q5MGNmZGY4ZDRlZWE5L3RleHRyZWdpb246OTk5MTgyNTdmM2M1NGIzNmI3ZDkwY2ZkZjhkNGVlYTlfMTA5OTUxMTYyOTAxNg_c802d7e7-16e4-4d2c-bd5d-833b1e4051f7"
      unitRef="shares">1215000</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="i56e59c1276764093b9af637918bed2a4_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84Mi9mcmFnOjk5OTE4MjU3ZjNjNTRiMzZiN2Q5MGNmZGY4ZDRlZWE5L3RleHRyZWdpb246OTk5MTgyNTdmM2M1NGIzNmI3ZDkwY2ZkZjhkNGVlYTlfMTA5OTUxMTYyOTEwMw_290a9815-084e-48d2-a287-e879bf1f5e84"
      unitRef="usd">51036000</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i1f87580f82d74a2abc81ba2a0901b868_I20200312"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84Mi9mcmFnOjk5OTE4MjU3ZjNjNTRiMzZiN2Q5MGNmZGY4ZDRlZWE5L3RleHRyZWdpb246OTk5MTgyNTdmM2M1NGIzNmI3ZDkwY2ZkZjhkNGVlYTlfNTM3_a0c019c3-3c29-4cb2-b9f7-b5560dea0b7d"
      unitRef="usd">200000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfNDEyMw_d7949525-183b-472b-905d-d16e557791d3">Taxes&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A reconciliation of the United States federal statutory corporate tax rate to the Company&#x2019;s income tax expense, or effective tax rate, was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.216%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.218%"/&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 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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three-months&#160;Ended&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 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:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&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="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 12.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;Income tax expense at U.S. federal statutory corporate tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;21&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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;21&#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="display:none"/&gt;&lt;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 12.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;State income taxes, net of federal benefit&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:700;line-height:100%"&gt;2&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&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="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 12.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;Foreign tax rate differential&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:700;line-height:100%"&gt;(5)&lt;/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:700;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;(6)&lt;/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="display:none"/&gt;&lt;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 12.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;Tax credit&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:700;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&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="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 12.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;Discrete tax benefit related to stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;(7)&lt;/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:700;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;(7)&lt;/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="display:none"/&gt;&lt;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 12.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;Other discrete adjustments&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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&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="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 12.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;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:700;line-height:100%"&gt;1&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/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:700;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&#160;&lt;/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="display:none"/&gt;&lt;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 12.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;Income tax expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;11&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;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 discrete tax benefits arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock exercises that resulted in a favorable impact to the effective tax rate of 7% for both of the three-month periods ended April&#160;4, 2021 and March&#160;29, 2020. In addition to stock exercises, other discrete adjustments recorded during the three-month period ended March&#160;29, 2020 included the final true-up of the prior year's tax accrual upon filing the related tax return that resulted in an unfavorable impact to the effective tax rate of 1%.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 these discrete items, the Company&#x2019;s effective tax rate was 18% of pre-tax income for the three-month period ended April&#160;4, 2021 compared to 17% for the same period in 2020. The increase in the effective tax rate, excluding the impact of discrete items, was due to a higher percentage of the Company's pre-tax income being earned and taxed in higher tax jurisdictions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the three-month period ended April&#160;4, 2021, the Company recorded a $478,000 increase in reserves for income taxes, net of deferred tax benefit. Estimated interest and penalties included in these amounts totaled $183,000 for the three-month period ended April&#160;4, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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&#x2019;s reserve for income taxes, including gross interest and penalties, was $15,780,000 as of April&#160;4, 2021, which included $14,752,000 classified as a non-current liability and $1,028,000 recorded as a reduction to non-current deferred tax assets. The amount of gross interest and penalties included in these balances was $1,528,000. If the Company&#x2019;s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period. As a result of the expiration of certain statutes of limitations, there is a potential that a portion of these reserves could be released, which would decrease income tax expense by approximately $450,000 to $500,000 over the next twelve months.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 defined its major tax jurisdictions as the United States, Ireland, China, and Korea, and within the United States, Massachusetts. The statutory tax rate is 12.5% in Ireland, 25% in China, and 25% in Korea compared to the U.S. federal statutory corporate tax rate of 21%. These differences resulted in a favorable impact to the effective tax rate of 5% for the three-month period ended April&#160;4, 2021, and 6% for the same period in 2020.&lt;/span&gt;&lt;/div&gt;Within the United States, the tax years 2017 through 2019 remain open to examination by the Internal Revenue Service ("IRS") and various state tax authorities. The tax years 2016 through 2019 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. The Company has been previously notified that it is under audit by the IRS for the tax year 2017. Additionally, the Company has been recently notified that it is under audit by the IRS for tax year 2018, as well as the Commonwealth of Massachusetts Department of Revenue for tax years 2017 and 2018. Management believes the Company is adequately reserved for these audits. The final determination of tax audits could result in favorable or unfavorable changes in our estimates.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfNDEyNw_b3e9a632-5255-450f-8d9b-914ca9ebde83">&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A reconciliation of the United States federal statutory corporate tax rate to the Company&#x2019;s income tax expense, or effective tax rate, was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.216%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.218%"/&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 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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three-months&#160;Ended&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 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:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&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="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 12.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;Income tax expense at U.S. federal statutory corporate tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;21&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:700;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;21&#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="display:none"/&gt;&lt;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 12.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;State income taxes, net of federal benefit&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:700;line-height:100%"&gt;2&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&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="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 12.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;Foreign tax rate differential&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:700;line-height:100%"&gt;(5)&lt;/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:700;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;(6)&lt;/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="display:none"/&gt;&lt;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 12.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;Tax credit&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:700;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&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="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 12.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;Discrete tax benefit related to stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;(7)&lt;/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:700;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;(7)&lt;/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="display:none"/&gt;&lt;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 12.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;Other discrete adjustments&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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&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="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 12.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;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:700;line-height:100%"&gt;1&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/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:700;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&#160;&lt;/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="display:none"/&gt;&lt;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 12.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;Income tax expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;11&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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="display:none"/&gt;&lt;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:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfMi0xLTEtMS0w_b1087e35-0d08-4c6e-87de-fec620e1d448"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfMi0zLTEtMS0w_b1df6acf-64b7-4862-9f7a-703bc5f282b6"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfMy0xLTEtMS0w_eb45cd03-1ee4-4589-a04b-b91b144c372f"
      unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfMy0zLTEtMS0w_23b899d8-4497-4c0e-8821-a7ac220007fb"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfNC0xLTEtMS0w_84691300-c5e2-412a-ad44-482877499ae6"
      unitRef="number">-0.05</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfNC0zLTEtMS0w_51a0bf45-8e35-4ea9-8a64-fcb3a89cf0ac"
      unitRef="number">-0.06</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfNS0xLTEtMS0w_b6ed962c-21a7-4b0a-94f4-42b240cd6b30"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfNS0zLTEtMS0w_f06db5c4-5df5-41df-b231-d48c755a8b51"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfNy0xLTEtMS0w_8bd4a49c-b1a6-4912-90c6-6a71a4157b71"
      unitRef="number">0.07</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfNy0zLTEtMS0w_bcea4554-9e51-46bd-abdf-bb294ebc53a1"
      unitRef="number">0.07</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfOS0xLTEtMS0w_6a418b73-5589-4b7f-a69c-73d83485d61f"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfOS0zLTEtMS0w_35db5f2f-0d5b-4896-86a7-53af28764850"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfMTAtMS0xLTEtMA_88663042-3c22-424d-85fb-3b6133f0c99e"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfMTAtMy0xLTEtMA_21326fe8-672b-46ae-bf13-80f76588b0da"
      unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfMTEtMS0xLTEtMA_76f4ac24-11ba-45f2-9718-55daa0e536a3"
      unitRef="number">0.11</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RhYmxlOmRhNWNiYWJmODZkZDRiNzc4M2UwNWM1M2FkMDc0YWQyL3RhYmxlcmFuZ2U6ZGE1Y2JhYmY4NmRkNGI3NzgzZTA1YzUzYWQwNzRhZDJfMTEtMy0xLTEtMA_0facecc0-56a8-45a9-a0a4-70781621c372"
      unitRef="number">0.11</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMTE4NA_4dd36ff0-d282-4b3c-93eb-16e4662632f0"
      unitRef="number">0.07</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMTE4NA_c78093cf-93bd-4fa0-a805-f40b8c2a446f"
      unitRef="number">0.07</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxSettlements
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMTU4OA_a4d7c9dd-02a0-4576-a30e-408c88ab4de7"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxSettlements>
    <cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfNDExOA_f8437e30-d003-44d6-8f47-39dcc77b7138"
      unitRef="number">0.18</cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent>
    <cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMjAyMw_8f50d600-bb7c-4b91-916a-847bf5ec1811"
      unitRef="number">0.17</cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent>
    <us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMjI5MA_81e44b63-0123-40d1-a9b0-e4d6cfc9fb28"
      unitRef="usd">478000</us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease>
    <cgnx:IncreaseDecreaseInterestAndPenalties
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMjQyOQ_ea6d8e13-d161-4180-afac-b61b29ce00d9"
      unitRef="usd">183000</cgnx:IncreaseDecreaseInterestAndPenalties>
    <cgnx:LiabilityForUncertainTaxPositions
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMjU1MA_16f89993-d503-41fd-9c2c-af16530e6ee9"
      unitRef="usd">15780000</cgnx:LiabilityForUncertainTaxPositions>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMjU3OA_d9980b2e-2a08-4efc-8f65-625c2f3ddabb"
      unitRef="usd">14752000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:IncreaseDecreaseInDeferredLiabilities
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMjYyMw_43bcc06d-6f49-4624-8a26-412a4abc30c0"
      unitRef="usd">1028000</us-gaap:IncreaseDecreaseInDeferredLiabilities>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMjc2Ng_0f27a372-c00c-4501-b0c3-003ed486a27a"
      unitRef="usd">1528000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <cgnx:MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMTA5OTUxMTYzODM4OA_ce7e95b3-3d98-4916-9f8f-30149c1c7b2f"
      unitRef="usd">450000</cgnx:MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves>
    <cgnx:MaxiumumDecreaseInIncomeTaxExpenseDueToReleaseInReserves
      contextRef="i4201c0f61ce94307a5e157a9d74087e4_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMTA5OTUxMTYzODM5OA_cbe9898c-27be-4144-9193-2d7f7a714c47"
      unitRef="usd">500000</cgnx:MaxiumumDecreaseInIncomeTaxExpenseDueToReleaseInReserves>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i43141314174240b189ccad7d94f2d9ab_D20210101-20210404"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMTA5OTUxMTY0MDIzNA_a534fee7-0b03-4aee-9cc1-7364f748297d"
      unitRef="number">0.125</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="ic9efbed2c6954978bd3b5d6f5ce7f474_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMTA5OTUxMTY0MDI0MQ_542c0881-da01-48cf-8edf-8cab181e7a83"
      unitRef="number">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i15873e7bc966435582db7af40cff8a77_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMTA5OTUxMTY0MDI0OA_862ffdbb-f60b-4690-af6d-8e89a5e302fa"
      unitRef="number">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="ie9bd545041384957a4067cf24a99a9ea_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMTA5OTUxMTY0MDI1Mw_cf9d78bb-3a24-4e62-a97f-9c829c24f99a"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMTA5OTUxMTY0MDI1OA_82b8ab96-3345-4ab8-b08a-0b0516c41e77"
      unitRef="number">-0.05</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfMTA5OTUxMTY0MDI2Mg_5b679e05-f23f-4dac-b274-56294964930b"
      unitRef="number">-0.06</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <cgnx:TaxyearsopentoexaminationbyInternalRevenueService
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfNDEyMg_660117ca-ca36-4220-97b4-1b74a6669f10">2017 through 2019</cgnx:TaxyearsopentoexaminationbyInternalRevenueService>
    <cgnx:IncomeTaxExaminationYearsUnderExaminationOtherEntities
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF84NS9mcmFnOjQ3ZDM5YjI4MDM5NDQzYTJiMzk0OWMzYTYwZjhkZmE2L3RleHRyZWdpb246NDdkMzliMjgwMzk0NDNhMmIzOTQ5YzNhNjBmOGRmYTZfNDEyOQ_74dae719-4d62-4f93-ab6a-7ae35b79fad2">2016 through 2019</cgnx:IncomeTaxExaminationYearsUnderExaminationOtherEntities>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85MS9mcmFnOmRkZTY0NTgyYWExMTQ3OTU5MGY4OGYwNTAwMjhlOWIxL3RleHRyZWdpb246ZGRlNjQ1ODJhYTExNDc5NTkwZjg4ZjA1MDAyOGU5YjFfOTAx_cab387f8-06d0-43c4-be24-fcba332f2cf6">Weighted-Average Shares&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Weighted-average shares were calculated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&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:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&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 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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three-months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 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:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&lt;/span&gt;&lt;/td&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="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;Basic weighted-average common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;176,288&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;172,408&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effect of dilutive equity awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;3,683&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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="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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average common and common-equivalent shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;179,971&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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 colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175,602&#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 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;/table&gt;&lt;/div&gt;Stock options to purchase 485,000 and 6,273,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month periods ended April&#160;4, 2021 and March&#160;29, 2020, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Restricted stock units totaling 124,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month period ended April&#160;4, 2021, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. There were no anti-dilutive restricted stock units outstanding, on a weighted-average basis, during the three-month period ended March&#160;29, 2020</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85MS9mcmFnOmRkZTY0NTgyYWExMTQ3OTU5MGY4OGYwNTAwMjhlOWIxL3RleHRyZWdpb246ZGRlNjQ1ODJhYTExNDc5NTkwZjg4ZjA1MDAyOGU5YjFfOTAy_f3b16671-fc89-4d45-967d-104135ba5bc0">&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Weighted-average shares were calculated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&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:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&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 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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three-months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&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:10pt;font-weight:700;line-height:100%"&gt;April 4, 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:10pt;font-weight:400;line-height:100%"&gt;March 29, 2020&lt;/span&gt;&lt;/td&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="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;Basic weighted-average common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;176,288&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;172,408&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effect of dilutive equity awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;3,683&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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="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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average common and common-equivalent shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;179,971&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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 colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175,602&#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 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;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85MS9mcmFnOmRkZTY0NTgyYWExMTQ3OTU5MGY4OGYwNTAwMjhlOWIxL3RhYmxlOmE5NWM2MTc4NDQ2YjRhZjFhNzc0MjVmYWJlZjBjOWI0L3RhYmxlcmFuZ2U6YTk1YzYxNzg0NDZiNGFmMWE3NzQyNWZhYmVmMGM5YjRfMi0xLTEtMS0w_c2581c5a-f075-47b7-bd93-e94d933396e0"
      unitRef="shares">176288000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85MS9mcmFnOmRkZTY0NTgyYWExMTQ3OTU5MGY4OGYwNTAwMjhlOWIxL3RhYmxlOmE5NWM2MTc4NDQ2YjRhZjFhNzc0MjVmYWJlZjBjOWI0L3RhYmxlcmFuZ2U6YTk1YzYxNzg0NDZiNGFmMWE3NzQyNWZhYmVmMGM5YjRfMi0zLTEtMS0w_c811d9e9-b018-47dc-a5f3-82063f62411a"
      unitRef="shares">172408000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85MS9mcmFnOmRkZTY0NTgyYWExMTQ3OTU5MGY4OGYwNTAwMjhlOWIxL3RhYmxlOmE5NWM2MTc4NDQ2YjRhZjFhNzc0MjVmYWJlZjBjOWI0L3RhYmxlcmFuZ2U6YTk1YzYxNzg0NDZiNGFmMWE3NzQyNWZhYmVmMGM5YjRfMy0xLTEtMS0w_d6e20ba4-4f02-4fd0-85c2-5e356a7312f1"
      unitRef="shares">3683000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85MS9mcmFnOmRkZTY0NTgyYWExMTQ3OTU5MGY4OGYwNTAwMjhlOWIxL3RhYmxlOmE5NWM2MTc4NDQ2YjRhZjFhNzc0MjVmYWJlZjBjOWI0L3RhYmxlcmFuZ2U6YTk1YzYxNzg0NDZiNGFmMWE3NzQyNWZhYmVmMGM5YjRfMy0zLTEtMS0w_89a59f3e-3ff1-4de8-a97c-58265477cbf2"
      unitRef="shares">3194000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85MS9mcmFnOmRkZTY0NTgyYWExMTQ3OTU5MGY4OGYwNTAwMjhlOWIxL3RhYmxlOmE5NWM2MTc4NDQ2YjRhZjFhNzc0MjVmYWJlZjBjOWI0L3RhYmxlcmFuZ2U6YTk1YzYxNzg0NDZiNGFmMWE3NzQyNWZhYmVmMGM5YjRfNC0xLTEtMS0w_f7cb2baf-8e9d-4498-8c87-ac95432a9010"
      unitRef="shares">179971000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i57864a5eeac140249d457d57f1a2220c_D20200101-20200329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85MS9mcmFnOmRkZTY0NTgyYWExMTQ3OTU5MGY4OGYwNTAwMjhlOWIxL3RhYmxlOmE5NWM2MTc4NDQ2YjRhZjFhNzc0MjVmYWJlZjBjOWI0L3RhYmxlcmFuZ2U6YTk1YzYxNzg0NDZiNGFmMWE3NzQyNWZhYmVmMGM5YjRfNC0zLTEtMS0w_1d7bb44c-b229-47cf-95c4-b07f12d9bc3f"
      unitRef="shares">175602000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i961f343b7f1a4db4a693872eb940c96a_D20210101-20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85MS9mcmFnOmRkZTY0NTgyYWExMTQ3OTU5MGY4OGYwNTAwMjhlOWIxL3RleHRyZWdpb246ZGRlNjQ1ODJhYTExNDc5NTkwZjg4ZjA1MDAyOGU5YjFfMTM1_680593c1-192c-4718-9b33-f70b7e7214e9"
      unitRef="shares">485000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i2433678d18904dc9b7a4b02ee07cff1d_D20200101-20200329"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85MS9mcmFnOmRkZTY0NTgyYWExMTQ3OTU5MGY4OGYwNTAwMjhlOWIxL3RleHRyZWdpb246ZGRlNjQ1ODJhYTExNDc5NTkwZjg4ZjA1MDAyOGU5YjFfMTA5OTUxMTYyODk2NQ_29a73ed6-5dc6-424b-bb7c-0294535e339c"
      unitRef="shares">6273000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i11e34e626ae646afb65e634ff18ab5b3_D20210101-20210404"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85MS9mcmFnOmRkZTY0NTgyYWExMTQ3OTU5MGY4OGYwNTAwMjhlOWIxL3RleHRyZWdpb246ZGRlNjQ1ODJhYTExNDc5NTkwZjg4ZjA1MDAyOGU5YjFfNDY4_55e94900-1be2-4fa5-9767-8f235db92226"
      unitRef="shares">124000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i70cedc83ce074bc38acd969004dad0d3_D20200101-20200329"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85MS9mcmFnOmRkZTY0NTgyYWExMTQ3OTU5MGY4OGYwNTAwMjhlOWIxL3RleHRyZWdpb246ZGRlNjQ1ODJhYTExNDc5NTkwZjg4ZjA1MDAyOGU5YjFfMTA5OTUxMTYyOTIwMw_bf9cad89-67e3-428e-909e-3580baa8433b"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RleHRyZWdpb246MGM4ZTFiMzI4ZDI5NDc4YmFhNzg5OTJkYmZlYTU5NDJfMjU1OQ_f0d8e83b-39a3-4e8d-9088-ef1d4aeb8d0c">Restructuring Charges&lt;div style="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 May 26, 2020, the Company's Board of Directors approved a restructuring plan intended to reduce the Company's operating costs, optimize its business model, and address the impact of the COVID-19 pandemic. The restructuring plan included a global workforce reduction of approximately 8% and office closures. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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, 2020, the majority of these actions were completed and no additional charges are expected to be incurred in future periods in relation to this restructuring plan. There were no restructuring charges recognized during the three-month period ended April&#160;4, 2021. &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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.888%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.806%"/&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.806%"/&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:18.640%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="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 summarizes the activity in the Company&#x2019;s restructuring reserve, which is included in &#x201c;Accrued expenses&#x201d; on the Consolidated Balance Sheets (in thousands):&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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&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:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:14.548%"/&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;One-time Termination Benefits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Contract Termination Costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Other Associated Costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#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, 2020&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;1,624&#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;750&#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;15&#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:700;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:700;line-height:100%"&gt;2,389&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash payments&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;(951)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(68)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;(1,034)&lt;/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;text-align:left;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 exchange rate changes&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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:700;line-height:100%"&gt;(5)&lt;/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:700;line-height:100%"&gt;Balance as of April 4, 2021&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:700;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:700;line-height:100%"&gt;672&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;678&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;1,350&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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;/table&gt;&lt;/div&gt;</us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock>
    <us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedInceptionToDatePercent
      contextRef="i8e0b21a06d1c489da9cea160755bd970_I20200526"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RleHRyZWdpb246MGM4ZTFiMzI4ZDI5NDc4YmFhNzg5OTJkYmZlYTU5NDJfMzIz_45d45c1f-0296-4404-8669-e8576f8dc62e"
      unitRef="number">0.08</us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedInceptionToDatePercent>
    <us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RleHRyZWdpb246MGM4ZTFiMzI4ZDI5NDc4YmFhNzg5OTJkYmZlYTU5NDJfMjU2MQ_07148ae5-7721-4857-a8ed-23a27394f7ac">&lt;div style="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 summarizes the activity in the Company&#x2019;s restructuring reserve, which is included in &#x201c;Accrued expenses&#x201d; on the Consolidated Balance Sheets (in thousands):&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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&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:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:14.548%"/&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;One-time Termination Benefits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Contract Termination Costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Other Associated Costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#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, 2020&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;1,624&#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;750&#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;15&#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:700;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:700;line-height:100%"&gt;2,389&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash payments&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;(951)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(68)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;(1,034)&lt;/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;text-align:left;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 exchange rate changes&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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:700;line-height:100%"&gt;(5)&lt;/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:700;line-height:100%"&gt;Balance as of April 4, 2021&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:700;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:700;line-height:100%"&gt;672&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;678&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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:700;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:700;line-height:100%"&gt;1,350&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;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;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock>
    <us-gaap:RestructuringReserve
      contextRef="i012c1521e5244177b8c8dd0405c0dbb4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfMS0xLTEtMS0w_01ac3990-91fa-439c-bc5a-51bfc4577225"
      unitRef="usd">1624000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i82afd39c864f4d71a460beccf5456554_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfMS0zLTEtMS0w_ce087d1e-f29e-40c9-805f-5330c5e76dd2"
      unitRef="usd">750000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="ifabf9d543b1748dda19bd2c9c26464e8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfMS01LTEtMS0w_388beb3c-1798-415a-bacb-b8c80c384d5d"
      unitRef="usd">15000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="icd9238c622d646ff88d6420c228b2a38_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfMS03LTEtMS0w_23ae2742-33fc-4807-931b-c49bdc67cd40"
      unitRef="usd">2389000</us-gaap:RestructuringReserve>
    <us-gaap:PaymentsForRestructuring
      contextRef="i5ee725ce816c4da0b967428748d80687_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfMy0xLTEtMS0w_abd884ab-ea33-4a6f-b014-6dce40ed60fc"
      unitRef="usd">951000</us-gaap:PaymentsForRestructuring>
    <us-gaap:PaymentsForRestructuring
      contextRef="i6921244d99c9476990848c55fc6160b4_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfMy0zLTEtMS0w_12647c33-ee41-4bc8-9ad9-3936330b716e"
      unitRef="usd">68000</us-gaap:PaymentsForRestructuring>
    <us-gaap:PaymentsForRestructuring
      contextRef="i49677401b1e64e35a459d7924347a69e_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfMy01LTEtMS0w_056cd3a8-5bcc-461d-8794-12956b6ab97f"
      unitRef="usd">15000</us-gaap:PaymentsForRestructuring>
    <us-gaap:PaymentsForRestructuring
      contextRef="i600028afd6a842f5be33e71c178ef050_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfMy03LTEtMS0w_b634399e-2d06-4c4d-b2eb-ef16161e41f3"
      unitRef="usd">1034000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveTranslationAdjustment
      contextRef="i5ee725ce816c4da0b967428748d80687_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfNi0xLTEtMS0w_4e17cf05-a5b4-4429-9d66-a1ef1261b81a"
      unitRef="usd">1000</us-gaap:RestructuringReserveTranslationAdjustment>
    <us-gaap:RestructuringReserveTranslationAdjustment
      contextRef="i6921244d99c9476990848c55fc6160b4_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfNi0zLTEtMS0w_efcc1061-ffb2-4e30-beb5-c0a9ad0746af"
      unitRef="usd">4000</us-gaap:RestructuringReserveTranslationAdjustment>
    <us-gaap:RestructuringReserveTranslationAdjustment
      contextRef="i49677401b1e64e35a459d7924347a69e_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfNi01LTEtMS0w_84b0cbbb-bd9d-43ea-bcb3-84d8813af26c"
      unitRef="usd">0</us-gaap:RestructuringReserveTranslationAdjustment>
    <us-gaap:RestructuringReserveTranslationAdjustment
      contextRef="i600028afd6a842f5be33e71c178ef050_D20210101-20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfNi03LTEtMS0w_0beb125d-b4ce-48ec-af50-30c1f82d7a31"
      unitRef="usd">5000</us-gaap:RestructuringReserveTranslationAdjustment>
    <us-gaap:RestructuringReserve
      contextRef="i18dec10a1f82451d819ba5273125528d_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfNy0xLTEtMS0w_db5a73a3-88d8-4876-8b91-08e5e42b9c55"
      unitRef="usd">672000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i368e88333ccc4483894c714c049f914c_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfNy0zLTEtMS0w_f75b500a-306f-454d-9f93-db61d4d58d2e"
      unitRef="usd">678000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i674e8955a33244ed949a20ade3b87cb7_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfNy01LTEtMS0w_89b004e4-30fe-4bdd-8840-8f21a60c54d6"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i551246d38d774b1780ea72010e1df53f_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85NC9mcmFnOjBjOGUxYjMyOGQyOTQ3OGJhYTc4OTkyZGJmZWE1OTQyL3RhYmxlOjg3Zjg3ZTQzZTBkNjQ4NjRhZTJlNmM4ZDdkN2I5OTAwL3RhYmxlcmFuZ2U6ODdmODdlNDNlMGQ2NDg2NGFlMmU2YzhkN2Q3Yjk5MDBfNy03LTEtMS0w_6db09fc4-d191-4020-bd07-11ca1cd03c97"
      unitRef="usd">1350000</us-gaap:RestructuringReserve>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="i9d5376f1e47e44789fbcab35a909932f_D20210101-20210404"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85Ny9mcmFnOjM5YWJkYzYyMTNlNTQ1YTI5MDkwMzc4MWQ0MTU0ZGMxL3RleHRyZWdpb246MzlhYmRjNjIxM2U1NDVhMjkwOTAzNzgxZDQxNTRkYzFfMjEy_eed22b18-c94d-43de-92e2-b8c5e43d90a0">Subsequent EventsOn May 6, 2021, the Company&#x2019;s Board of Directors declared a cash dividend of $0.060 per share. The dividend is payable on June 4, 2021 to all shareholders of record as of the close of business on May 21, 2021.</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:Dividends
      contextRef="i9a04355a5fdc453fa6fcf0e3661b80f2_D20210506-20210506"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjU5MzY3ZTlkMzM5YTRhYTU4ZTMzYzBiOTE1MmFjZmM0L3NlYzo1OTM2N2U5ZDMzOWE0YWE1OGUzM2MwYjkxNTJhY2ZjNF85Ny9mcmFnOjM5YWJkYzYyMTNlNTQ1YTI5MDkwMzc4MWQ0MTU0ZGMxL3RleHRyZWdpb246MzlhYmRjNjIxM2U1NDVhMjkwOTAzNzgxZDQxNTRkYzFfMTAw_c7ea777c-9baa-4ffb-b882-51e6fe94c553"
      unitRef="usd">0.060</us-gaap:Dividends>
</xbrl>
